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_DOC_URL: "http://doc:7003" WEBSITE_API_URL: "http://api:7002" WEBSITE_API_PATH: "http://localhost:7002" security_opt: - "no-new-privileges:true" cap_drop: - ALL ports: - "127.0.0.1:7001:7001" depends_on: - api - doc read_only: true restart: unless-stopped 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 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" restart: unless-stopped doc: container_name: "website_doc" image: website_doc build: context: ./doc security_opt: - "no-new-privileges:true" cap_drop: - ALL environment: WEBSITE_HOST: "0.0.0.0:7003" WEBSITE_DOCS_DIR: "./docs" read_only: true restart: unless-stopped