services: proxy: build: ./proxy restart: unless-stopped expose: - "3128" volumes: - ./data:/data environment: PROXY_PORT: "3128" PROXY_PASSWD_PATH: /data/3proxy.passwd portal: build: ./portal restart: unless-stopped expose: - "3000" volumes: - ./data:/data environment: ADMIN_USERNAME: ${ADMIN_USERNAME} ADMIN_PASSWORD: ${ADMIN_PASSWORD} PORTAL_SESSION_SECRET: ${PORTAL_SESSION_SECRET} PORTAL_PUBLIC_URL: ${PORTAL_PUBLIC_URL:-} PORTAL_PORT: "3000" PROXY_PORT: ${PROXY_PORT:-3128} PROXY_PUBLIC_HOST: ${PROXY_PUBLIC_HOST} DATABASE_PATH: ${DATABASE_PATH:-/data/opennow-proxy.json} PROXY_PASSWD_PATH: ${PROXY_PASSWD_PATH:-/data/3proxy.passwd} CLIENT_PROVISION_ENABLED: ${CLIENT_PROVISION_ENABLED:-true} MAX_CLIENT_PROVISIONS: ${MAX_CLIENT_PROVISIONS:-5000} depends_on: - proxy caddy: image: caddy:2-alpine restart: unless-stopped ports: - "443:443" - "80:80" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config environment: CADDY_DOMAIN: ${CADDY_DOMAIN} CADDY_EMAIL: ${CADDY_EMAIL} depends_on: - portal volumes: caddy_data: caddy_config: