2026-03-07 22:41:16 -06:00
|
|
|
version: '3.8'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
pnger:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
container_name: pnger
|
|
|
|
|
image: pnger:latest
|
|
|
|
|
ports:
|
2026-03-07 23:05:53 -06:00
|
|
|
- "${HOST_PORT:-8080}:3000"
|
2026-03-07 22:41:16 -06:00
|
|
|
environment:
|
2026-03-13 22:33:36 -05:00
|
|
|
- PUID=${PUID:-99}
|
|
|
|
|
- PGID=${PGID:-100}
|
|
|
|
|
- TZ=${TZ:-UTC}
|
2026-03-07 23:05:53 -06:00
|
|
|
- NODE_ENV=${NODE_ENV:-production}
|
|
|
|
|
- MAX_FILE_SIZE=${MAX_FILE_SIZE:-10485760}
|
2026-03-07 22:41:16 -06:00
|
|
|
restart: unless-stopped
|
|
|
|
|
healthcheck:
|
2026-03-07 23:05:53 -06:00
|
|
|
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"]
|
2026-03-07 22:41:16 -06:00
|
|
|
interval: 30s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 3
|
|
|
|
|
start_period: 10s
|
2026-03-07 23:05:53 -06:00
|
|
|
mem_limit: ${MEM_LIMIT:-512m}
|
|
|
|
|
cpus: ${CPU_LIMIT:-1.0}
|
2026-03-07 22:41:16 -06:00
|
|
|
logging:
|
|
|
|
|
driver: "json-file"
|
|
|
|
|
options:
|
|
|
|
|
max-size: "10m"
|
2026-03-07 23:05:53 -06:00
|
|
|
max-file: "3"
|
|
|
|
|
# Optional: mount temp directory if you want persistence
|
|
|
|
|
# volumes:
|
|
|
|
|
# - ./temp:/app/temp
|