forked from tas/major_tom
static-web-server's default cache-control sends max-age=31536000 (1 year) for .js files but only 1 day for .wasm. After redeployment, Cloudflare CDN serves the cached old .js with a fresh .wasm, causing EM_ASM address table mismatches and runtime crashes. Disable built-in cache headers at the origin so Cloudflare respects new content on each deploy. Also update AGENTS.md: add deploy commands, fix emsdk path, document the Cloudflare cache-purge requirement, and correct stale MAX_ENTITY_SPAWNS and MAX_EXIT_ZONES values.
27 lines
781 B
Docker
27 lines
781 B
Docker
# JNR Web — static file server for the Emscripten build
|
|
#
|
|
# Prerequisites:
|
|
# make web (produces dist-web/)
|
|
#
|
|
# Build:
|
|
# podman build -t jnr-web .
|
|
# docker build -t jnr-web .
|
|
#
|
|
# Run locally:
|
|
# podman run --rm -p 8080:80 jnr-web
|
|
# Then visit http://localhost:8080
|
|
#
|
|
# Deploy to k3s:
|
|
# podman save jnr-web | sudo k3s ctr images import -
|
|
# sudo k3s kubectl apply -f k8s/
|
|
|
|
FROM docker.io/joseluisq/static-web-server:2
|
|
|
|
COPY dist-web/ /public/
|
|
|
|
# Disable the default cache-control headers which cache .js for 1 year.
|
|
# The .js and .wasm files must always be fetched together (EM_ASM address
|
|
# table in JS must match the compiled WASM), so aggressive caching causes
|
|
# "No EM_ASM constant found" errors after redeployments.
|
|
ENV SERVER_CACHE_CONTROL_HEADERS=false
|