Dev: heltec-tracker.l.warehack.ing Prod: heltec-tracker.warehack.ing SITE_URL is now env-driven so the same image builds correct canonical URLs for both environments.
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
services:
|
|
heltec-docs:
|
|
build:
|
|
context: .
|
|
target: ${MODE:-development}
|
|
container_name: heltec-tracker-docs
|
|
restart: unless-stopped
|
|
environment:
|
|
- ASTRO_TELEMETRY_DISABLED=1
|
|
- VITE_HMR_HOST=${VITE_HMR_HOST:-}
|
|
- SITE_URL=${SITE_URL:-}
|
|
networks:
|
|
- caddy
|
|
labels:
|
|
# Caddy reverse proxy configuration
|
|
caddy: ${DOMAIN:-heltec-tracker.l.warehack.ing}
|
|
caddy.reverse_proxy: "{{upstreams ${PORT:-4321}}}"
|
|
# HMR WebSocket 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"
|
|
|
|
# Development mode override
|
|
heltec-docs-dev:
|
|
extends:
|
|
service: heltec-docs
|
|
profiles:
|
|
- dev
|
|
build:
|
|
target: development
|
|
volumes:
|
|
- ./src:/app/src:ro
|
|
- ./public:/app/public:ro
|
|
- ./astro.config.mjs:/app/astro.config.mjs:ro
|
|
environment:
|
|
- ASTRO_TELEMETRY_DISABLED=1
|
|
- VITE_HMR_HOST=${VITE_HMR_HOST}
|
|
labels:
|
|
caddy.reverse_proxy: "{{upstreams 4321}}"
|
|
|
|
# Production mode override
|
|
heltec-docs-prod:
|
|
extends:
|
|
service: heltec-docs
|
|
profiles:
|
|
- prod
|
|
build:
|
|
target: production
|
|
labels:
|
|
caddy.reverse_proxy: "{{upstreams 80}}"
|
|
|
|
networks:
|
|
caddy:
|
|
external: true
|