64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
services:
|
|
nginx:
|
|
image: nginx:1.27-alpine
|
|
container_name: inventarsystem-nginx
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- app
|
|
ports:
|
|
- "${INVENTAR_HTTP_PORT:-80}:80"
|
|
- "${INVENTAR_HTTPS_PORT:-443}:443"
|
|
volumes:
|
|
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ./certs:/etc/nginx/certs:ro
|
|
|
|
mongodb:
|
|
image: mongo:7.0
|
|
container_name: inventarsystem-mongodb
|
|
restart: unless-stopped
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping').ok"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: inventarsystem-app
|
|
restart: unless-stopped
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
environment:
|
|
INVENTAR_MONGODB_HOST: mongodb
|
|
INVENTAR_MONGODB_PORT: "27017"
|
|
INVENTAR_MONGODB_DB: Inventarsystem
|
|
INVENTAR_BACKUP_FOLDER: /data/backups
|
|
INVENTAR_LOGS_FOLDER: /data/logs
|
|
expose:
|
|
- "8000"
|
|
volumes:
|
|
- ./config.json:/app/config.json:ro
|
|
- ./Web:/app/Web:ro
|
|
- app_uploads:/app/Web/uploads
|
|
- app_thumbnails:/app/Web/thumbnails
|
|
- app_previews:/app/Web/previews
|
|
- app_qrcodes:/app/Web/QRCodes
|
|
- app_backups:/data/backups
|
|
- app_logs:/data/logs
|
|
|
|
volumes:
|
|
mongodb_data:
|
|
app_uploads:
|
|
app_thumbnails:
|
|
app_previews:
|
|
app_qrcodes:
|
|
app_backups:
|
|
app_logs:
|