Installation Troubleshooting
Common issues encountered when setting up or updating Daployi.
System redirects to login screen instead of welcome setup
After installing the Docker container using the install utility or any other method, the system might take you straight to a login screen instead of the welcome setup screen. This typically indicates that the web system cannot communicate with the backend.
Possible Causes & Solutions:
- Invalid SSL Certificate: The system requires a valid SSL certificate. Ensure your certificates are valid and correctly configured.
- Communication Failure: The web application might be unable to reach the API backend.
How to Diagnose: Check the logs of the web system container to see the specific error:
- Run
docker psto list running containers and find the ID of the web app container. - Run
docker logs <container_id>to view the logs and identify potential issues.
System cannot log in or no items show after update
After updating using the deploy install utility, you can no longer log in, or no items are displayed in the dashboard. This happens when the web system can no longer connect to the backend, or the backend cannot authorize with the database.
Root Cause: This usually occurs if the install utility is executed from a different folder than the original installation. The installer generates unique secrets stored in the folder from which it is run. Running it from a different folder generates a new set of credentials that don't match the existing database.
Solution:
- Consistent Execution Folder: Always run the install utility from the same folder where the initial installation was performed.
- Static Location in Compose: To prevent this in the future, you can statically set the secrets location in your
docker-compose.ymlor Docker run command so that the installer always uses the same path.
API not reachable on localhost:API_PORT
- Symptom:
curl http://localhost:4000fails or times out. - Checks:
docker ps— ensuredaployi-serveris running.docker logs daployi-server— verify it started without errors and is listening on the configured port.docker compose ps— confirm port mapping shows0.0.0.0:4000->4000/tcp.- Confirm no host firewall is blocking the port.
- Fix:
- Ensure
API_PORTis the same value in.envand used in the ports mapping. - If using another service on that port, change
API_PORTand restart.
- Ensure
Web UI shows blank page or 502
- Symptom:
http://localhost:3000returns an error or blank page. - Checks:
docker logs daployi-web— confirm it can reach the API.- Verify
NUXT_PUBLIC_API_BASEandNUXT_PUBLIC_WS_BASEpoint to the correct public URL for the API. - Ensure
daployi-serveris healthy.
- Fix:
- Update
PUBLIC_API_BASE/WS_BASEin.env, thendocker compose up -dto recreate web.
- Update
MongoDB authentication failed
- Symptom: API logs contain authentication errors for MongoDB.
- Checks:
- Confirm
MONGO_USERin.envmatchesMONGO_INITDB_ROOT_USERNAMEfor mongodb service. - Ensure
MONGO_PASSWORD_ENCis the URL-encoded value of the password in.secrets/mongo_root_password. - Try connecting with the mongo shell using the same credentials.
- Confirm
- Fix:
- Regenerate
MONGO_PASSWORD_ENCusing the commands in the Installation (Compose) guide. - If you changed the Mongo root password, update
.secrets/mongo_root_passwordandMONGO_PASSWORD_ENC, then restart.
- Regenerate
Redis authentication required
- Symptom: API/Worker cannot connect to Redis due to auth.
- Checks:
redis-cli -h localhost -p 6378 -a $(cat .secrets/redis_password) PINGshould returnPONG.- Verify
REDIS_PASSWORDin.envmatches.secrets/redis_password.
- Fix:
- Update
REDIS_PASSWORDand restart API/Worker containers.
- Update
Static IP conflict on custom network
- Symptom:
docker compose upfails with "Address already in use" or network conflict. - Checks:
docker network ls;docker network inspect daployi_daployi_netor the named network.- Ensure
10.99.0.0/24isn’t used by another network.
- Fix:
- Change the subnet and static IPs in
docker-compose.ymlconsistently.
- Change the subnet and static IPs in
Containers restart repeatedly
- Symptom: restart loops.
- Checks:
docker logs <container>for the first failure cause.- Verify dependent services are reachable (e.g., server waits for Mongo, Redis).
- Fix:
- Start infrastructure first (Mongo, Redis). Use
depends_onand retry policies or wait-for scripts if needed.
- Start infrastructure first (Mongo, Redis). Use