# Production deployment compose file # Used by: dev server:init-app first run + Drone CI deploy step # Builds from source checked out at /opt/project-hub/src on the server. # Persistent data lives in /opt/project-hub/data + /opt/project-hub/uploads # (those dirs are outside the git checkout so they survive redeployments). services: backend: build: context: ./backend dockerfile: Dockerfile image: pm-backend:latest container_name: pm-backend restart: unless-stopped environment: - PORT=4000 - NODE_ENV=production - APP_URL=https://pm.jiosii.com - CORS_ORIGIN=https://pm.jiosii.com volumes: - /opt/project-hub/data:/app/data - /opt/project-hub/uploads:/app/uploads networks: - pm-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:4000/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s frontend: build: context: ./frontend dockerfile: Dockerfile args: - VITE_API_URL=https://pm.jiosii.com/api image: pm-frontend:latest container_name: pm-frontend restart: unless-stopped depends_on: - backend networks: - pm-network healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s networks: pm-network: name: pm-network