Ryan Malloy f6fe421a73 Switch domain to warehack.ing, add prod/dev .env.example
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.
2026-02-21 18:41:44 -07:00

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