couchdb-docker
couchdb-docker copied to clipboard
3.x docker image requires usernames longer than a single character
Expected Behavior
I expect to be able to set a username via the COUCHDB_USER
environment variable with a length of 1 character.
Current Behavior
Previous versions of the docker image did not have any validation on service start. The current versions fails if the specified COUCHDB_USER
is a single character.
You'll see the following message on container start with a single-character username:
*************************************************************
ERROR: CouchDB 3.0+ will no longer run in "Admin Party"
mode. You *MUST* specify an admin user and
password, either via your own .ini file mapped
into the container at /opt/couchdb/etc/local.ini
or inside /opt/couchdb/etc/local.d, or with
"-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password"
to set it via "docker run".
*************************************************************
I believe the cause is the \w+
in the regex check here
Possible Solution
I think changing the \w+
to \w*
will allow the previous behavior.
Steps to Reproduce (for bugs)
docker run -e COUCHDB_USER=l -e COUCHDB_PASSWORD=password -d couchdb
Here is an example of downstream usage of the image where it just constantly restarts the container (though the error message isn't surfaced as I don't surface that in the tests):
https://github.com/dokku/dokku-couchdb/runs/3578023307?check_suite_focus=true
Context
This breaks my tests, which I try to sync between all datastore plugins. Fixing it just means increasing the username length, but its annoying since now I can't easily copy the files over as tests change.
That said, its not a super-critical bug, just an annoying one.
Your Environment
- Version used: 3.1.1
- Browser Name and version: Safari Version 14.1.2 (16611.3.10.1.3)
- Operating System and version (desktop or mobile): macOS Big Sur 11.5
- Link to your project: https://github.com/dokku/dokku-couchdb
That line has had \w+
in it for quite some time, at least since 3.1.0:
https://github.com/apache/couchdb-docker/pull/181/files retained it
\w+
should match on 1 or more characters. Setting it to \w*
will mean matching 0 or more characters that aren't prefixed with ;
, which is not what we want.
What was the last version that you used that worked?
The last image that worked was 2.3.1, which I don't think had this check.