services: docs: profiles: ["prod"] build: context: . target: prod container_name: ${COMPOSE_PROJECT}-prod restart: unless-stopped networks: - caddy labels: caddy: ${DOMAIN} caddy.reverse_proxy: "{{upstreams 80}}" docs-dev: profiles: ["dev"] build: context: . target: dev container_name: ${COMPOSE_PROJECT}-dev restart: unless-stopped volumes: - ./src:/app/src:cached - ./public:/app/public:cached - ./astro.config.mjs:/app/astro.config.mjs:cached - ./tsconfig.json:/app/tsconfig.json:cached - ./package.json:/app/package.json:cached environment: DEV_DOMAIN: ${DEV_DOMAIN} networks: - caddy labels: caddy: ${DEV_DOMAIN} caddy.reverse_proxy: "{{upstreams 4321}}" caddy.reverse_proxy.flush_interval: "-1" caddy.reverse_proxy.transport: "http" caddy.reverse_proxy.transport.read_timeout: "0" caddy.reverse_proxy.transport.write_timeout: "0" caddy.reverse_proxy.transport.keepalive: "5m" caddy.reverse_proxy.transport.keepalive_idle_conns: "10" caddy.reverse_proxy.stream_timeout: "24h" caddy.reverse_proxy.stream_close_delay: "5s" networks: caddy: external: true