feat(docker): add containerized nginx deployment with runtime base path

Two-stage build: node builds the static bundle, nginx serves it. The bundle is
built against a placeholder base token that the entrypoint rewrites to $BASE_URL
at start, so one image serves from any path without a rebuild.

nginx config caches hashed assets forever, never caches index.html, and applies
security headers (CSP, no framing, no referrer) suited to an app that handles
cloud credentials client-side.

.gitattributes pins LF on the container-consumed files, since core.autocrlf
would otherwise give the entrypoint a CRLF shebang.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 15:03:19 +02:00
co-authored by Claude Opus 5
parent 48802cf13c
commit 32159a404d
7 changed files with 149 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
services:
ready2blob:
build: .
image: ready2blob:latest
container_name: ready2blob
ports:
- "8080:80"
environment:
# "/" for a dedicated (sub)domain; "/ready2blob/" to mount under a path.
BASE_URL: "/"
restart: unless-stopped