- Dockerfile: nginx:1.27-alpine, copies static files + nginx.conf
- nginx.conf: gzip, long cache for images, short cache for HTML/JS,
SPA fallback to index.html (hash router handles /#/projects/<slug>)
- docker-compose.yml: restart unless-stopped, healthcheck on :43036
- README: docker compose up -d --build
Keeps port 43036 so the existing nginx-proxy-manager route for
wilddragon.net (-> :43036) keeps working without reconfig.