services: license-backend: build: . image: license-backend:latest container_name: license-backend restart: unless-stopped env_file: .env environment: - PORT=8080 - DATA_DIR=/data # No public port mapping: Nginx Proxy Manager reaches the container over the # shared Docker network as "license-backend:8080". (For a quick local test # without NPM, uncomment the ports block below.) # ports: # - "127.0.0.1:8080:8080" expose: - "8080" volumes: # Named volume → data (SQLite DB) survives container recreation/redeploy. - license-data:/data networks: - npm networks: # The network Nginx Proxy Manager already runs on. Find it with: # docker network ls # then set NPM_NETWORK in .env (e.g. NPM_NETWORK=npm_default). npm: external: true name: ${NPM_NETWORK:-npm_default} volumes: license-data: