Troubleshooting
Common issues and fixes for self-hosted GitPier.
GitPier Container Does Not Start
Symptoms:
gitpierexits or restarts repeatedlydocker compose psshows the service as unhealthy or stopped
Checks:
- Verify both
{SECRET}placeholders were replaced incompose.yml - Confirm
postgresandredisare running - Check that
./dataexists and is writable by the configuredHOST_UIDandHOST_GID
Useful commands:
docker compose ps
docker compose logs -f gitpier postgres redisWorkflow Jobs Fail to Start or Complete
Symptoms:
- Pipeline starts but jobs fail immediately
- Container or build errors appear in
gitpierlogs
Checks:
- Confirm
dindis running and healthy - Confirm
DOCKER_HOST=tcp://dind:2375in thegitpierenvironment - Check whether the
trusted-buildsprofile is required for your build flow - Verify the Docker runtime has enough free disk space
Useful commands:
docker compose logs -f dind gitpier trusted-builder
docker system dfSSH Clone or Push Fails
Symptoms:
Permission deniedor connection timeout on SSH clone/push
Checks:
- Ensure host port
2424is open and mapped correctly - Confirm
SSH_CLONE_HOSTmatches the actual hostname or IP clients use - Validate SSH keys are configured for the user account
Example endpoint format:
git clone ssh://git@<server-host>:2424/<owner>/<repo>.gitDatabase or Redis Connectivity Errors
Symptoms:
gitpierboot failures mentioning database or Redis connection errors
Checks:
- Verify
DATABASE_URLpoints topostgres - Confirm
postgresandrediscontainers are healthy - Check
redishealthcheck status and retries
Useful commands:
docker compose ps
docker compose logs -f postgres redis gitpierData and Storage Issues
Symptoms:
- Repositories/packages/workflows fail due to missing space or path errors
Checks:
- Validate
./databind mount exists and has correct permissions - Monitor disk usage for
./dataand Docker volumes - If secrets were intentionally reset, delete
./data/secrets.jsonon the host and restart only with full awareness that regenerated secrets may affect access
Useful commands:
df -h
du -sh ./data/*If you are still blocked, capture docker compose ps, the relevant docker compose logs, and the exact error output before opening an issue.
