Skip to main content

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

ComponentVerification CommandExpected
Repositorypg_isready -U pmp4pg -d pmp4pg_repoaccepting connections
Backendcurl http://localhost:8080/pmp/actuator/health{"status":"UP"}
Frontendcurl -o /dev/null -s -w "%{http_code}" http://localhost200

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.yml are 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.html is 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: