- React + MUI DataGrid app with faction filter, search, change filter - Biggest movers cards (drops/rises) scoped to current filter view - Historical points graph modal (5 MFM versions: 1.14 → current) - URL state sync (faction, dir, q params — shareable URLs) - Grimdark favicon + OG embed image (Google Imagen) - Multi-stage Dockerfile (node build → nginx serve) - docker-compose.yml with Traefik + Cloudflare TLS - Data pipeline: build_deduped_data.py merges PDF + live scrape - Ynnari merged into Aeldari (shared codex) - Mobile responsive: flex columns, no fixed pixel widths - Color semantics: green=cheaper, red=costlier (consistent everywhere) - 1,449 units across 31 factions
23 lines
687 B
YAML
23 lines
687 B
YAML
services:
|
|
wh40k-site:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: wh40k-site:latest
|
|
container_name: wh40k-site
|
|
restart: unless-stopped
|
|
networks:
|
|
- hermes-net
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=hermes-net"
|
|
- "traefik.http.routers.wh40k-site.entrypoints=websecure"
|
|
- "traefik.http.routers.wh40k-site.rule=Host(`wh40k.damascusfront.net`)"
|
|
- "traefik.http.routers.wh40k-site.tls=true"
|
|
- "traefik.http.routers.wh40k-site.tls.certresolver=cloudflare"
|
|
- "traefik.http.services.wh40k-site.loadbalancer.server.port=80"
|
|
|
|
networks:
|
|
hermes-net:
|
|
external: true
|
|
name: hermes-net |