Package the area editor + Godot 4.7.2 as a Docker container #65
Loading…
Reference in a new issue
No description provided.
Delete branch "task/64-editor-container"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #64
Run on a headless server (optibcc) with
cd tools/mapgen/web_editor/docker && docker compose up -d --build, then openhttp://<server>:8765/on the LAN.Image (
docker/Dockerfile)debian:bookworm-slim+ Python 3 + the official Godot 4.7.2 Linux build, with SHA-512 pinned from the release'sSHA512-SUMS.txt. Picks amd64 or arm64 automatically.LD_DEBUG, not guessed.tinias init, a healthcheck on/api/health, and--audio-driver Dummyfor renders.Runtime (
entrypoint.sh,compose.yaml)compose.yamlis bind-mounted at/repo. Editor code and area JSON both come from it, so edits land in your clone forgit diff/ commit / push, and agit pull+docker compose restartupdates the editor. No credentials in the container..env), so nothing written into the checkout is root-owned..godot/renders. Core dumps are disabled so a crash can't drop a large file into the checkout.Small changes to the editor
server.py --host(default stays127.0.0.1; the container passes0.0.0.0).render_preview.pyhonorsRENDER_EXTRA_GODOT_ARGS._sample_room.jsonis normalized to this format.Verified in the sandbox (no Docker available there, so each piece was checked separately)
Godot_v4.7.2-stable_linux.x86_64(mode 755). All apt package names exist in bookworm.entrypoint.shagainst a fresh clone (no.godot/) with the image's env,godoton PATH, and dummy audio: the import ran, the server came up on0.0.0.0, and/api/healthplus a/api/renderPNG worked via the container's non-loopback IP. The rendered frame is correct.git statuswas clean; an editor save showed up as a normal modified file.Not yet verified: an actual
docker build/docker compose upon x86_64. The first build on optibcc is the real test.🤖 Generated with Claude Code