36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
|
|
services:
|
||
|
|
docs:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
target: ${APP_ENV:-dev}
|
||
|
|
restart: unless-stopped
|
||
|
|
environment:
|
||
|
|
- PUBLIC_DOMAIN=${PUBLIC_DOMAIN:-mcserial.l.zmesh.systems}
|
||
|
|
- VITE_HMR_HOST=${PUBLIC_DOMAIN:-mcserial.l.zmesh.systems}
|
||
|
|
- ASTRO_TELEMETRY_DISABLED=1
|
||
|
|
volumes:
|
||
|
|
# Dev mode: mount source for hot reload
|
||
|
|
- ./src:/app/src:ro
|
||
|
|
- ./public:/app/public:ro
|
||
|
|
- ./astro.config.mjs:/app/astro.config.mjs:ro
|
||
|
|
networks:
|
||
|
|
- caddy
|
||
|
|
labels:
|
||
|
|
# Caddy reverse proxy
|
||
|
|
caddy: ${PUBLIC_DOMAIN:-mcserial.l.zmesh.systems}
|
||
|
|
caddy.reverse_proxy: "{{upstreams 4321}}"
|
||
|
|
|
||
|
|
# WebSocket/HMR support for dev mode
|
||
|
|
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
|