gr-mcp-docs/docker-compose.yml
Ryan Malloy 41114373b9 init: Astro/Starlight docs site for gr-sarsat-modern
Diátaxis-structured documentation for 406 MHz SARSAT beacon reception:
- Tutorials: signal chain walkthrough
- Guides: antenna setup, message decoding
- Reference: block API, signal format
- Explanation: Cospas-Sarsat system overview

Includes extracted images from official Cospas-Sarsat specifications (LFS).
2026-02-13 05:01:21 -07:00

61 lines
2.3 KiB
YAML

# gr-sarsat-modern Documentation Site
# Usage:
# Dev: docker compose --profile dev up
# Prod: docker compose --profile prod up -d
services:
# ─────────────────────────────────────────────────────────────
# Development - hot reload with volume mounts
# ─────────────────────────────────────────────────────────────
docs-dev:
profiles: ["dev"]
build:
context: .
target: dev
restart: unless-stopped
networks:
- caddy
volumes:
- ./src:/app/src:ro
- ./public:/app/public:ro
- ./astro.config.mjs:/app/astro.config.mjs:ro
- ./tsconfig.json:/app/tsconfig.json:ro
environment:
- ASTRO_TELEMETRY_DISABLED=1
- VITE_HMR_HOST=${DOMAIN}
labels:
caddy: ${DOMAIN}
caddy.reverse_proxy: "{{upstreams 4321}}"
# WebSocket support for HMR
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"
# ─────────────────────────────────────────────────────────────
# Production - static site served by embedded Caddy
# ─────────────────────────────────────────────────────────────
docs-prod:
profiles: ["prod"]
build:
context: .
target: prod
restart: unless-stopped
networks:
- caddy
labels:
caddy: ${DOMAIN}
caddy.reverse_proxy: "{{upstreams 80}}"
# Security headers
caddy.header.X-Content-Type-Options: "nosniff"
caddy.header.X-Frame-Options: "DENY"
caddy.header.Referrer-Policy: "strict-origin-when-cross-origin"
networks:
caddy:
external: true