Troubleshooting Docker
Prerequisite Steps
Connect yourself inside the passbolt docker container:
- CE
- PRO
docker compose -f docker-compose-ce.yaml exec passbolt bash
docker compose -f docker-compose-pro.yaml exec passbolt bash
All troubleshooting commands must be launched as www-data user. It is the case if you are running non-root docker images but for root images, switch as www-data user:
su -s /bin/bash www-data
Then to be able to launch some commands, you must retrieve PASSBOLT_GPG_SERVER_KEY_FINGERPRINT environment variable:
export PASSBOLT_GPG_SERVER_KEY_FINGERPRINT="$(gpg \
--home $GNUPGHOME\
--list-keys \
${PASSBOLT_KEY_EMAIL:[email protected]} | \
grep -Ev "^(pub|sub|uid|^$)" | tr -d ' ')"
Alternatively if you are using Docker Secrets you’ll need to run the following to access the secrets as environment variables:
source /etc/environment
Passbolt commands
Status report
./bin/status-report
Healthcheck
./bin/cake passbolt healthcheck
Send a test email
./bin/cake passbolt send_test_email \
[email protected]
Datacheck
./bin/cake passbolt datacheck --hide-success-details
Server logs
To retrieve the server logs, run this command outside of the container:
- CE
- PRO
docker compose -f docker-compose-ce.yaml logs passbolt
docker compose -f docker-compose-pro.yaml logs passbolt
To create a file that contain these logs, you can run:
- CE
- PRO
docker compose -f docker-compose-ce.yaml logs passbolt > error_logs 2>&1
docker compose -f docker-compose-pro.yaml logs passbolt > error_logs 2>&1
Database migrations status
./bin/cake migrations status
Database container
To connect into the MariaDB container console:
- CE
- PRO
docker compose -f docker-compose-ce.yaml exec db bash -c \
'mariadb -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}'
docker compose -f docker-compose-pro.yaml exec db bash -c \
'mariadb -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}'