Containerize Phase 1 bot: Docker deployment on the Spark
Add Dockerfile, docker-compose.yml, docker-entrypoint.sh, and .dockerignore so the bot runs detached and survives reboots, replacing the foreground venv run. The image is generic (no secrets/deployment specifics baked in): host networking reaches both Synapse and the Mac; .env, config.toml, and the SSH key are mounted read-only. The entrypoint is the container's environment seam (D4 analog of launch-claude.sh) — it generates ~/.ssh/config for the mac-bridge alias from config.toml [mac] (new hostname/user fields) so the bot's `ssh mac-bridge` stays unchanged. SSH key mounted not baked; first connect uses accept-new host trust. Proven live on the Spark: container connects to Synapse and real messages launched drivable sessions on the phone across 2 rooms via the full chain.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# Keep the build context minimal and the image generic/secret-free.
|
||||
# .env, config.toml, and the SSH key arrive via read-only mounts at runtime — never baked in.
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
config.toml
|
||||
|
||||
.git
|
||||
.venv/
|
||||
venv/
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*.egg-info/
|
||||
|
||||
# Mac-side launch scripts run on the Mac, not in this container.
|
||||
scripts/
|
||||
|
||||
# Docs / OS cruft — not needed in the image.
|
||||
*.md
|
||||
.claude/
|
||||
.DS_Store
|
||||
Reference in New Issue
Block a user