For the complete documentation index, see llms.txt. This page is also available as Markdown.

Troubleshooting

On-Prem Deployment Guide (Azure)

Each entry below follows the same format: symptom, likely causes, diagnostic commands, resolution, how to confirm the fix, and what to collect if you still need to escalate to Hivel support.

Services Not Starting

Likely causes: Missing Docker network, a dependent service (e.g. Redis, database) not yet healthy, or a bad .env value.

Diagnostic commands:

# Check container logs
docker logs <service-name>
 
# Check Docker status
docker ps -a
 
# Verify network exists
docker network ls | grep microservices_network
 
# Check service dependencies
./deploy.sh --status

Resolution steps: create the missing network with docker network create microservices_network if absent; fix the .env value that docker logs points to; re-run ./deploy.sh --service <name>.

How to verify the fix: docker ps shows the service as Up; ./deploy.sh --health <name> returns healthy.

What to collect for Hivel support: full docker logs <service-name> output, docker ps -a, and your .env with all passwords redacted.

Database Connection Issues

Likely causes: wrong credentials in .env, the Azure PostgreSQL firewall/networking rules don't include the VM's IP, or sslmode=require was omitted.

Diagnostic commands:

Resolution steps: verify the PostgreSQL server's Networking blade (Azure Portal) has a firewall rule for the VM's IP (see Database Setup); confirm DB_USER/DB_PASSWORD in .env match the credential phase you intend (admin for migration, application user for services).

How to verify the fix: the psql command above returns a prompt with no error.

What to collect for Hivel support: the exact psql error text, and confirmation of which credential phase is currently in .env.

ECR Pull Failed

Likely causes: expired or incorrect AWS credentials, or credentials weren't re-authenticated after expiry.

Diagnostic commands:

Resolution steps: re-run aws configure with the credentials Hivel provided; re-authenticate to ECR using the command above.

How to verify the fix: docker login returns Login Succeeded.

What to collect for Hivel support: the exact error from docker login, and the output of aws sts get-caller-identity (account ID only - redact anything sensitive).

./deploy.sh not found

Likely causes: not in the right path (deploy.sh only exists inside the extracted installer directory), or the installer package was never fully downloaded/unzipped, or deploy.sh exists but isn't executable.

Diagnostic commands:

Resolution: cd into /opt/hivel-onprem before running the command - it must be run from inside that directory, not from /opt or elsewhere. If deploy.sh is missing entirely, re-download and re-extract the installer package (see Project Setup). If it's present but not executable, run chmod +x deploy.sh.

Verify the fix: ./deploy.sh --help runs and prints the command reference with no "not found" error.

Collect for Hivel support: the output of pwd and ls -la in the installer directory, and confirmation that the hivel-onprem package was successfully downloaded and unzipped.

Migration Failed

Likely causes: .env has application-user credentials instead of admin/root credentials, or the insightly database doesn't exist yet.

Diagnostic commands:

Resolution steps: confirm admin/root (not application-user) credentials are in .env for migration (Database Migration, Phase 1); confirm the insightly database exists (Database Setup).

How to verify the fix: docker inspect flyway-migration --format='{{.State.ExitCode}}' returns 0.

What to collect for Hivel support: full docker logs flyway-migration output.

Wrong Credentials After Migration

Likely causes: .env was never switched from admin to application-user credentials after migration succeeded.

If services fail to connect after migration:

Diagnostic commands:

How to verify the fix: affected services report healthy in ./deploy.sh --health .

What to collect for Hivel support: the service logs showing the original authentication failure.

Port Already in Use

Likely causes: another process on the VM is already bound to a port Hivel needs (commonly 80 or 3000).

Diagnostic commands:

How to verify the fix: re-run ./deploy.sh --status and confirm the affected service starts.

What to collect for Hivel support: output of sudo lsof -i :<port> before you kill the conflicting process, if available.

Health Checks Failing

Likely causes: the service needs more startup time (especially on first deploy), or the VM is resource-constrained.

Diagnostic commands:

Resolution steps: wait 2–3 minutes after first deployment before treating a health check failure as real; if resource-constrained, confirm the VM meets the sizing in Prerequisites and Virtual Machine Requirements; otherwise inspect the specific error in the logs.

How to verify the fix: ./deploy.sh --health <service-name> returns healthy.

What to collect for Hivel support: ./deploy.sh --logs <service-name> output and docker stats snapshot.

Log Rotation Not Working

Likely causes: the setup script wasn't run, or the rotation script lost its execute permission.

Diagnostic commands:

Resolution steps: re-run sudo ./scripts/setup-log-rotation.sh if the cron job is missing; re-apply execute permission if it was lost.

How to verify the fix: sudo crontab -l lists the rotation job, and ls -la /var/log/hivel/ shows per-service directories.

What to collect for Hivel support: output of sudo crontab -l and ls -la /var/log/hivel/.

Next step: if resolved, continue to Backup and Restore.

Last updated