new-password command failing since about a week
Databasus version
current version as of today (docker.io/databasus/databasus:latest)
Operating system and architecture
using standard Docker image provided by Databasus
Settings for the databasus test-container in the gitlab pipeline:
Please the health command that is used (and has worked just fine in the past, which is needed since the health reporting did not work in the past for the databasus docker image)
databasus:
image: databasus/databasus:latest
ports:
- 4005:4005
env:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
POSTGRES_DB: admin
DB_HOST: db
DB_PORT: "5432"
options: >-
--health-cmd="bash -c 'exec 3<>/dev/tcp/localhost/4005 && echo -e \"GET /health HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n\" >&3 && cat <&3 | grep -q \"200 OK\"' || exit 1"
--health-interval=10s
--health-timeout=2s
--health-retries=20Database type and version (optional, for DB-related bugs)
related to the internal DB of databasus, not DB in backup scope
Describe the bug (please write manually, do not ask AI to summarize)
I run a nigthly pipeline with integration tests against the latest databasus version, but since about a week the tests are failing already during the inital setup of the containers.
Specifically the error shows when executing the password reset command as described in the readme file after a fresh install of databasus:
docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="admin"
The pipeline have not been changed for this job and since it is failing for the database bundled with databasus, it is also not related to the external databases we try to backup in the integration tests.
It seems the databasus docker image reacts different than before and access to the internal database is corrupted somehow (at least in the scope of the password reset script) or the general startup sequence has been changed in databasus when it comes to migration script execution or a race condition occurs in the DB provisioning
What I expected: The "new-password" command to be working like it did 1-2 weeks ago
Steps to reproduce
- Spin up fresh databasus instance from the docker container
- run
docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="admin"
Have you asked AI how to solve the issue?
Copilot in github was consulted, but failed to solve the issue, but all suggestions failed
Additional context / logs
docker exec ad7a25c4e83057361d1b893fc07713dd6562d44767de502c845e7532fcc688b4 \
./main --new-*** --email="admin"
shell: /usr/bin/bash -e {0}
env:
GOTOOLCHAIN: local
time="2026/09/12 01:17:03" level=INFO msg="trying to load .env" path=/.env
time="2026/09/12 01:17:03" level=INFO msg="successfully loaded .env" path=/.env
time="2026/09/12 01:17:03" level=INFO msg="ENV_MODE loaded" mode=production
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=12 path=/app/assets/tools/x64/postgresql/postgresql-12/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=13 path=/app/assets/tools/x64/postgresql/postgresql-13/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=14 path=/app/assets/tools/x64/postgresql/postgresql-14/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=15 path=/app/assets/tools/x64/postgresql/postgresql-15/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=16 path=/app/assets/tools/x64/postgresql/postgresql-16/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=17 path=/app/assets/tools/x64/postgresql/postgresql-17/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=postgresql version=18 path=/app/assets/tools/x64/postgresql/postgresql-18/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mysql version=5.7 path=/app/assets/tools/x64/mysql/mysql-5.7/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mysql version=8.0 path=/app/assets/tools/x64/mysql/mysql-8.0/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mysql version=8.4 path=/app/assets/tools/x64/mysql/mysql-8.4/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mysql version=9 path=/app/assets/tools/x64/mysql/mysql-9/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mariadb version=10.6 path=/app/assets/tools/x64/mariadb/mariadb-10.6/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mariadb version=12.1 path=/app/assets/tools/x64/mariadb/mariadb-12.1/bin
time="2026/09/12 01:17:03" level=INFO msg="client tools verified" db=mongodb version=tools path=/app/assets/tools/x64/mongodb/bin
time="2026/09/12 01:17:03" level=INFO msg="environment variables loaded successfully"
time="2026/09/12 01:17:03" level=INFO msg="running database migrations"
time="2026/09/12 01:17:03" level=ERROR msg="failed to run migrations" error="exit status 1" output="2026/09/12 01:17:03 goose run: failed to connect to `user=postgres database=databasus`: 127.0.0.1:5437 (localhost): failed SASL auth: FATAL: password authentication failed for user \"postgres\" (SQLSTATE 28P01); failed to connect to `user=postgres database=databasus`: 127.0.0.1:5437 (localhost): failed SASL auth: FATAL: password authentication failed for user \"postgres\" (SQLSTATE 28P01)\n"
Error: Process completed with exit code 1.Source: databasus/databasus