Starting the Platform
Once the repository, backend and frontend are installed and configured, this page guides you through starting the full platform and verifying that all components are running correctly.
Startup Order
Always start the components in the following order:
1. PostgreSQL (repository)
2. PMP4PG Backend
3. Nginx (frontend)
Step 1 — Start the Repository
# Start PostgreSQL
systemctl start postgresql-16 # Rocky Linux
# or
systemctl start postgresql # Ubuntu
# Verify it is running
systemctl status postgresql-16
# Test the repository connection
psql -U pmp4pg -h localhost -d pmp4pg_repo -c "SELECT version();"
Step 2 — Start the Backend
systemctl start pmp4pg-backend
# Check status
systemctl status pmp4pg-backend
# Follow startup logs
journalctl -u pmp4pg-backend -f --no-pager | head -30
Look for these lines to confirm successful startup:
INFO Started PmpApplication in X seconds
INFO AWR Snapshot Engine initialized
INFO PMP4PG Backend listening on port 8080
API health check:
curl -s http://localhost:8080/pmp/actuator/health | python3 -m json.tool
# Expected: { "status": "UP" }
Step 3 — Start the Frontend
systemctl start nginx
# Verify
systemctl status nginx
Frontend reachability check:
curl -o /dev/null -s -w "%{http_code}" http://localhost
# Expected: 200
Step 4 — Full Platform Verification
| Component | Verification Command | Expected |
|---|---|---|
| Repository | pg_isready -U pmp4pg -d pmp4pg_repo | accepting connections |
| Backend | curl http://localhost:8080/pmp/actuator/health | {"status":"UP"} |
| Frontend | curl -o /dev/null -s -w "%{http_code}" http://localhost | 200 |
If all three return the expected results, the platform is fully operational.
{screenshot: platform-all-systems-up}
Enabling Services on Boot
Make sure all services start automatically after a server reboot:
systemctl enable postgresql-16 # or postgresql
systemctl enable pmp4pg-backend
systemctl enable nginx
Stopping the Platform
systemctl stop nginx
systemctl stop pmp4pg-backend
systemctl stop postgresql-16
Troubleshooting
Backend fails to start
# Check full logs
journalctl -u pmp4pg-backend --no-pager -n 100
Common causes:
- Repository not reachable → verify PostgreSQL is running and credentials in
application.ymlare correct - Port 8080 already in use →
ss -tlnp | grep 8080 - Wrong Java version →
java -version
Frontend shows blank page
- Check browser console for errors (F12)
- Verify the Nginx proxy path
/pmp/api/correctly reaches the backend - Confirm the Angular
index.htmlis present in/var/www/pmp4pg/
Cannot reach the platform from a remote browser
# Check firewall
firewall-cmd --list-all # Rocky Linux
ufw status # Ubuntu
# Open HTTP/HTTPS if needed
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Next Steps
Now that the platform is running, deploy your first agent: