Dockerfile + node_hub deployment configuration #2
Labels
No labels
blocked:needs-attention
blocked:needs-decision
bug
feature-request
in-progress
needs-decompose
quickfix
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch-service#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Containerize the FastAPI app from the previous issue and deploy it via the existing node_hub infrastructure. Service should be reachable from ThreadCraft over the tailnet at a stable URL.
Implementation
Mark/easystitchDockerfile or build a thin one here thatFROM mark/easystitch:latestand copies the FastAPI layer. Final image runsuvicorn app:app --host 0.0.0.0 --port 8080. Multi-stage build to keep image size reasonable (the easystitch base is ~1.5GB; the service layer should add <100MB).Dockerfilebuilds cleanly withdocker build -t mark/easystitch-service:latest .. Push to the registry node_hub reads from (local registry on the tailnet, or whatevernodehub.tail018ac4.ts.netis configured for).easystitch-serviceregistered as a managed app on node_hub. Required config:GET /healthzLOG_LEVEL=info,MAX_UPLOAD_MB=4,THREAD_PALETTE_PATH=/data/brother_pr10.json/proxy/:instanceIdreverse proxy exposes the service. Final URL:http://easystitch-service.tail018ac4.ts.net(or whatever the project's node_hub naming convention produces — verify against existing deployed apps).processingMsalready logged in the FastAPI wrapper.Files to create
Dockerfile— multi-stage build.dockerignore— exclude.git,tests/,__pycache__,*.pyc,.venv/node_hub_config.json(or whatever format node_hub expects — check existing apps) — service registration manifestREADME.md— deployment instructions, how to update the running serviceAcceptance
docker buildproduces an image that runs locally (docker run -p 8080:8080 mark/easystitch-service).GET http://easystitch-service.tail018ac4.ts.net/healthzreturns 200.POST http://easystitch-service.tail018ac4.ts.net/v1/digitizewith a test PNG returns a valid response.Dependencies
Mark/infrastructuremay be needed if node_hub needs new config (DNS, registry, etc.).