version: '3.8' services: pnger: build: context: . dockerfile: Dockerfile container_name: pnger image: pnger:latest ports: - "${HOST_PORT:-8080}:3000" environment: - NODE_ENV=${NODE_ENV:-production} - PORT=3000 - MAX_FILE_SIZE=${MAX_FILE_SIZE:-10485760} - TEMP_DIR=/app/temp restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 5s retries: 3 start_period: 10s mem_limit: ${MEM_LIMIT:-512m} cpus: ${CPU_LIMIT:-1.0} logging: driver: "json-file" options: max-size: "10m" max-file: "3" # Optional: mount temp directory if you want persistence # volumes: # - ./temp:/app/temp