# Example compose file for the VPS. Copy src/env.example to .env next to this file and fill it in. # Nginx Proxy Manager forwards the subdomain to sdp-dashboard:3000 and enforces the IP allow list. services: sdp-dashboard: image: v0idf1sh/sdp-dashboard:latest container_name: sdp-dashboard restart: unless-stopped env_file: .env environment: # must match the redirect URI registered in the Zoho API console, minus /auth/callback PUBLIC_URL: https://dashboard.example.com # No published ports on purpose. Docker's port publishing bypasses ufw, so "3000:3000" would # let anyone reach the app directly and skip NPM's access list. NPM reaches it over the # shared network instead, using the container name as the forward hostname. expose: - "3000" # each user's saved settings and the shared name suggestions volumes: - sdp-data:/app/data networks: - proxy volumes: sdp-data: networks: proxy: # the network Nginx Proxy Manager's container is on; check with `docker network ls` external: true name: ${NPM_NETWORK:-npm_default}