55 lines
1.3 KiB
YAML
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:
|