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 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: - ./Web:/app/Web - 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: