liftman/compose.yaml
2026-05-22 23:05:37 +02:00

55 lines
1.3 KiB
YAML

services:
frontend:
image: docker.io/library/nginx:1.27-alpine
container_name: lift-frontend
restart: unless-stopped
depends_on:
- backend
ports:
- "8080:80"
volumes:
- ./public:/usr/share/nginx/html:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
backend:
image: docker.io/library/node:22-alpine
container_name: lift-backend
restart: unless-stopped
depends_on:
- postgres
working_dir: /app
environment:
PORT: 3000
JWT_SECRET: elevator-manager-secret
DATABASE_URL: postgresql://lift_admin:lift_secret@postgres:5432/lift_manager
command: sh -c "npm ci --omit=dev && npm start"
volumes:
- ./package.json:/app/package.json:ro
- ./package-lock.json:/app/package-lock.json:ro
- ./server.js:/app/server.js:ro
- ./public:/app/public:ro
- ./data:/app/data
- ./uploads:/app/uploads
postgres:
image: docker.io/library/postgres:16-alpine
container_name: lift-postgres
restart: unless-stopped
environment:
POSTGRES_DB: lift_manager
POSTGRES_USER: lift_admin
POSTGRES_PASSWORD: lift_secret
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
adminer:
image: adminer
restart: always
ports:
- 8090:8080
volumes:
postgres_data: