services: app: build: . image: helix-proxy:dev restart: unless-stopped ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/app/data # user: "0:0" # required when using PUID/PGID != built-in to allow binary to chown+drop # working_dir: /app # binary uses CWD for relative data/ + data/www/ # environment: # - DATA_DIR=/app/data # - WWW_DIR=/app/data/www # - PUID=1000 # - PGID=1000 # - DISABLE_IPV6=1 # # PUID_NO_DROP=1 # if using low ports (80/443) + PUID: chown as root but skip drop (stay root for bind; default drop runs as PUID after, requires high ports or NET_BIND_SERVICE cap) # To use optional SQL backend instead of default yaml: # - DB_TYPE=postgres # - DB_POSTGRES_HOST=db # ... and add a db service healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:81/api"] interval: 30s timeout: 5s retries: 3 start_period: 10s