i-k-bus-board/site/docker-compose.yml
Ryan Malloy c32e62cf1d Add Starlight docs site for k-line.warehack.ing
Astro/Starlight documentation site with 8 content pages:
- Circuit design (SPICE validation, R2 sweep data, K-line compat)
- Firmware architecture (composition diagram, concurrency model)
- BMW I/K-Bus protocol (message format, module addresses)
- OBD-II K-line protocol (init sequences, PID decode formulas)
- Bill of materials
- Getting started guide
- Development journal (4-session engineering log)

Docker deployment: multi-stage build (Node builder + Caddy static),
caddy-docker-proxy labels, Makefile for management.
2026-02-13 07:06:52 -07:00

45 lines
1.1 KiB
YAML

services:
docs:
build:
context: .
target: production
container_name: k-line-docs
restart: unless-stopped
networks:
- caddy
labels:
caddy: ${DOMAIN}
caddy.reverse_proxy: "{{upstreams 80}}"
caddy.encode: gzip
docs-dev:
build:
context: .
target: development
profiles:
- dev
volumes:
- ./src:/app/src:ro
- ./public:/app/public:ro
- ./astro.config.mjs:/app/astro.config.mjs:ro
- ./tsconfig.json:/app/tsconfig.json:ro
networks:
- caddy
environment:
- VITE_HMR_HOST=${DOMAIN}
labels:
caddy: ${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