Because I ran the couchdb binary as root, that’s why.
Apparantly this “mucks up all the file ownerships so you can’t run it as the couchdb user again”. I did this because I needed to (re)start CouchDB manually for whatever reason (not knowing the MacPorts install comes with a daemon might be one of them).
When my CouchDB was no longer running after booting, I inspected the CouchDB log and saw a huge stack trace, without any helpful error message. The CouchDB wiki mentions this stack trace however.
Their solution is rather dirty: just reinstall CouchDB and never run it as root. If you’re not comfortable with that - like me - you can also set file permissions to user/group couchdb. These are the files I changed:
/opt/local/etc/couchdb
/opt/local/etc/default/couchdb
/opt/local/etc/logrotate.d/couchdb
/opt/local/bin/couchdb
/opt/local/bin/couchjs
/opt/local/lib/couchdb
/opt/local/share/couchdb
/opt/local/share/doc/couchdb
/opt/local/var/lib/couchdb
/opt/local/var/log/couchdb
/opt/local/var/run/couchdb