8 tests pass (webpack build, Docker build, container serve, HTTP 200+Content-Type,
page content, docker-compose, DNS API record, origin response, proxied URL):
Infrastructure deliverables:
- src/main.js — minimal Phaser 3 canvas bootstrap ('Iron Requiem' title text)
- webpack.config.js — html-webpack-plugin integration with SPA template
- Dockerfile — nginx:alpine + curl healthcheck + dist copy
- nginx.conf — SPA fallback (try_files /index.html)
- docker-compose.yml — litellm_hermes-net, Traefik labels w/ cloudflare certresolver
- jest.config.deploy.js — node testEnvironment, no Phaser dependency
- tests/slice1_deploy.test.js — 8 deployment tests
- tests/dns_verify.sh — Cloudflare DNS verification script
Deployed at https://iron-requiem.damascusfront.net (HTTP 200 verified)
Container: iron-requiem on litellm_hermes-net, Traefik routing active
20 lines
572 B
YAML
20 lines
572 B
YAML
services:
|
|
iron-requiem:
|
|
build: .
|
|
image: iron-requiem:latest
|
|
container_name: iron-requiem
|
|
restart: unless-stopped
|
|
networks:
|
|
- default
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.iron-requiem.rule=Host(`iron-requiem.damascusfront.net`)"
|
|
- "traefik.http.routers.iron-requiem.entrypoints=websecure"
|
|
- "traefik.http.routers.iron-requiem.tls.certresolver=cloudflare"
|
|
- "traefik.http.services.iron-requiem.loadbalancer.server.port=80"
|
|
|
|
networks:
|
|
default:
|
|
name: litellm_hermes-net
|
|
external: true
|