# Dokploy Troubleshooting Guide ## Current Configuration - **Application Port**: 5173 (to avoid conflict with your existing app on port 3000) - **Container Port**: 5173 - **Health Check**: http://localhost:5173/health ## Common Issues and Solutions ### 1. 404 Page Not Found **Possible Causes:** - Port mapping issue - Application not starting properly - Dokploy routing configuration **Solutions:** #### A. Check Dokploy Port Configuration In Dokploy, make sure: 1. Go to your application settings 2. Check "Port" or "Exposed Port" is set to **5173** 3. If there's a "Target Port" field, set it to **5173** as well #### B. Check Application Logs 1. In Dokploy, go to your application 2. Click "Logs" tab 3. Look for: `[remix-serve] http://localhost:5173` 4. If you see port 3000 instead, there's a configuration issue #### C. Verify Environment Variables Make sure these are set in Dokploy environment variables: ``` NODE_ENV=production PORT=5173 SESSION_SECRET=your-secure-secret SUPER_ADMIN=superadmin SUPER_ADMIN_EMAIL=admin@yourcompany.com SUPER_ADMIN_PASSWORD=YourSecurePassword123! ``` ### 2. Application Starts but Shows Wrong Port in Logs If logs show `http://localhost:3000` instead of `5173`: 1. **Check Dokploy Environment Variables**: - Ensure `PORT=5173` is set - Remove any conflicting port variables 2. **Redeploy** the application after fixing environment variables ### 3. Health Check Failures If health checks are failing: 1. **Manual Health Check**: ```bash # SSH into your server and run: docker exec -it phosphat-report-app wget -qO- http://localhost:5173/health ``` 2. **Expected Response**: ```json { "status": "ok", "timestamp": "2025-07-24T...", "uptime": 123.45, "environment": "production", "database": "connected" } ``` ### 4. Database Issues If you see database connection errors: 1. **Check Database Path**: - Ensure `DATABASE_URL=file:/app/data/production.db` - Check if `/app/data` directory has proper permissions 2. **Reset Database** (if needed): ```bash # Stop application in Dokploy # SSH into server and run: docker volume rm $(docker volume ls -q | grep app_data) # Restart application in Dokploy ``` ## Access Your Application Once deployed successfully: ### Direct Access - **URL**: `http://your-server-ip:5173` - **Login**: Use the credentials from `SUPER_ADMIN_EMAIL` and `SUPER_ADMIN_PASSWORD` ### Through Reverse Proxy (if configured) - **URL**: `https://your-domain.com` - Make sure your reverse proxy (nginx/traefik) is configured to forward to port 5173 ## Dokploy-Specific Configuration ### Environment Variables to Set in Dokploy UI: ``` NODE_ENV=production PORT=5173 DATABASE_URL=file:/app/data/production.db SESSION_SECRET=your-super-secure-session-secret-min-32-chars SUPER_ADMIN=superadmin SUPER_ADMIN_EMAIL=admin@yourcompany.com SUPER_ADMIN_PASSWORD=YourSecurePassword123! ``` ### Port Configuration: - **Container Port**: 5173 - **Host Port**: 5173 (or any available port you prefer) ## Quick Deployment Checklist - [ ] Repository URL is correct - [ ] Branch is set to `main` - [ ] Environment variables are set - [ ] Port is configured as 5173 - [ ] Build completed successfully - [ ] Container is running - [ ] Health check passes - [ ] Application is accessible at `http://server-ip:5173` ## Still Having Issues? 1. **Check Container Status**: ```bash docker ps | grep phosphat-report ``` 2. **View Real-time Logs**: ```bash docker logs -f phosphat-report-app ``` 3. **Test Health Endpoint**: ```bash curl http://localhost:5173/health ``` 4. **Check Port Binding**: ```bash netstat -tlnp | grep 5173 ``` If none of these solutions work, the issue might be with Dokploy's internal routing or your server's firewall configuration.