version: "3.9" services: serene-docs: image: serenelang/serene-docs environment: USER_UID: 1100 USER_GID: 1100 security_opt: - no-new-privileges:true networks: - public_lb volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: labels: - "traefik.enable=true" - "traefik.http.routers.serene-lang.rule=Host(`serene-lang.org`)" - "traefik.http.routers.serene-lang.entrypoints=websecure" - "traefik.http.routers.serene-lang.tls=true" - "traefik.http.routers.serene-lang.tls.certresolver=default" - "traefik.http.services.serene-lang-web.loadbalancer.server.port=3000" - "traefik.http.services.serene-lang-web.loadbalancer.server.scheme=http" - "traefik.http.routers.serene-lang.service=serene-lang-web" - "traefik.docker.network=public_lb" - "traefik.http.middlewares.serene-lang-ratelimit.ratelimit.average=50" - "traefik.http.middlewares.serene-lang-ratelimit.ratelimit.burst=10" - "traefik.http.routers.serene-lang.middlewares=serene-lang-ratelimit" mode: replicated replicas: 1 restart_policy: condition: on-failure max_attempts: 3 update_config: parallelism: 1 delay: 5s order: stop-first logging: options: max-size: "10m" max-file: "3" networks: public_lb: external: true name: public_lb