# Updated Restart Instructions for OpnForm ## Changes Made 1. **Removed health check from api-nginx** - This was causing the "starting" status 2. **Fixed PHP-FPM health check** - Changed to check process existence 3. **Made services accessible externally** - Changed ports from localhost-only to all interfaces ## Step-by-Step Restart Process ### 1. Stop ALL OpnForm Containers In your Docker web interface: - Select ALL OpnForm containers - Click "Stop" - Wait for all to fully stop ### 2. Remove the api-nginx Container (Important!) - Select the `opnform-api-nginx` container - Click "Remove" or "Delete" - This ensures it recreates with the new configuration ### 3. Start Containers in Order Start each container and wait for it to be ready before starting the next: 1. **opnform-db** - Wait until "healthy" 2. **opnform-redis** - Wait until "healthy" 3. **opnform-api** - Wait until "healthy" (may take 90 seconds) 4. **opnform-api-nginx** - Should show "running" (no health check now) 5. **opnform-api-worker** - Wait until running 6. **opnform-api-scheduler** - Wait until running 7. **opnform-client** - Wait until "healthy" ### 4. Verify Everything Works #### Check nginx is actually running: Look at the logs for `opnform-api-nginx`. You should see: ``` Configuration complete; ready for start up ``` #### Test the services: - UI: http://YOUR-SERVER-IP:7655 - API: http://YOUR-SERVER-IP:7654/api/health ### 5. If api-nginx Still Shows Issues Check if PHP-FPM is running in the API container: 1. Go to the `opnform-api` container 2. Check the logs - should show: `fpm is running, pid 1` 3. If PHP-FPM isn't running, the API container needs to be restarted ### 6. Common Issues **Port already in use:** - Make sure no other services are using ports 7654 or 7655 - Check with: `netstat -tlnp | grep -E '7654|7655'` on the host **Cannot connect to API:** - Ensure firewall allows ports 7654 and 7655 - Try accessing locally first: `curl http://localhost:7654/api/health` **nginx won't start:** - Check logs for configuration errors - Verify the api-nginx.conf file exists ## Security Reminder Services are now exposed on all network interfaces (0.0.0.0). For production: - Configure firewall rules to restrict access - Set up your host nginx with SSL as planned - Or change back to 127.0.0.1 after testing