services: app: container_name: "website_app" image: website_app build: context: ./app args: WEBSITE_SOURCE_URL: "http://github.com/ngn13/website" WEBSITE_REPORT_URL: "http://github.com/ngn13/website/issues" WEBSITE_APP_URL: "http://localhost:7001" WEBSITE_API_URL: "http://localhost:7002" WEBSITE_DOC_URL: "http://doc:7003" security_opt: - "no-new-privileges:true" cap_drop: - ALL ports: - "127.0.0.1:7001:7001" restart: unless-stopped depends_on: - api - doc api: container_name: "website_api" image: website_api build: context: ./api security_opt: - "no-new-privileges:true" cap_drop: - ALL ports: - "127.0.0.1:7002:7002" volumes: - ./data.db:/api/data.db:rw restart: unless-stopped environment: WEBSITE_DEBUG: "false" WEBSITE_APP_URL: "http://localhost:7001/" WEBSITE_PASSWORD: "change_me" WEBSITE_HOST: "0.0.0.0:7002" WEBSITE_IP_HEADER: "X-Real-IP" WEBSITE_INTERVAL: "1h" WEBSITE_TIMEOUT: "15s" WEBSITE_LIMIT: "5s" doc: container_name: "website_doc" image: website_doc read_only: true build: context: ./doc security_opt: - "no-new-privileges:true" cap_drop: - ALL restart: unless-stopped environment: WEBSITE_HOST: "0.0.0.0:7003" WEBSITE_DOCS_DIR: "./docs"