diff --git a/patchmon/compose.yaml b/patchmon/compose.yaml new file mode 100755 index 0000000..418e122 --- /dev/null +++ b/patchmon/compose.yaml @@ -0,0 +1,58 @@ +services: + database: + image: postgres:17-alpine + container_name: patchmon-postgres + restart: unless-stopped + environment: + POSTGRES_DB: patchmon_db + POSTGRES_USER: patchmon_user + POSTGRES_PASSWORD: dbpass + volumes: + - ./postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U patchmon_user -d patchmon_db"] + interval: 5s + timeout: 5s + retries: 12 + + backend: + image: ghcr.io/patchmon/patchmon-backend:latest + container_name: patchmon-backend + restart: unless-stopped + user: "1000:1000" + depends_on: + database: + condition: service_healthy + environment: + LOG_LEVEL: info + DATABASE_URL: postgresql://patchmon_user:dbpass@database:5432/patchmon_db + JWT_SECRET: very-long-random-jwt-secret + + # Backend listens on 3001 inside the container + SERVER_PORT: 3001 + + # IMPORTANT: set this to what your browser origin actually is + # Examples: + # http://10.1.149.134:3000 + # http://patchmon.local:3000 + # If PatchMon supports comma-separated origins, this allows both local + LAN access. + CORS_ORIGIN: "http://localhost:3000,http://192.168.178.183:3000,http://192.168.178.138:3001" + + REDIS_HOST: 192.168.178.183 + REDIS_PORT: 9379 + volumes: + - ./data:/app/agents + ports: + - "3001:3001" + + frontend: + image: ghcr.io/patchmon/patchmon-frontend:latest + container_name: patchmon-frontend + restart: unless-stopped + depends_on: + - backend + environment: + BACKEND_HOST: backend + BACKEND_PORT: 3001 + ports: + - "3000:3000"