Phase 01: Foundation - Container isolation decisions documented - Build strategy established - Dev workflow defined Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Phase 1: Foundation - Context
Gathered: 2026-02-03 Status: Ready for planning
## Phase BoundaryGo backend running in Docker with isolated storage. Container serves HTTP and has access only to the mounted data volume. This phase establishes the infrastructure foundation — no application logic yet.
## Implementation DecisionsContainer Isolation
- Standard isolation — volume mount restriction only, no hardened filesystem
- Port 32768 inside container — high port to avoid collisions with other Pi services
- Data volume mounted at
/datainside container - HTTP only — no outbound network access needed
Build Strategy
- Multi-arch image using docker buildx (x86_64 + ARM64)
- Single Dockerfile — no separate dev/prod files
- Base image: Debian slim (compatibility and debugging over minimal size)
- Push to local Gitea registry (once set up)
Dev Workflow
- Docker Compose for local development
- Deploy to Pi: git pull from Gitea + build image directly on Pi
- Go version: Latest stable (1.22+)
Claude's Discretion
- Go project structure and module naming
- Hot reload / watch mode setup for local dev (or manual rebuild)
- Multi-stage Dockerfile optimization
- Health check endpoint design
- User plans to move primary dev environment to Pi after setting up local Gitea, so cross-platform dev experience is transitional
- Pi may run other services, hence the high port (32768) to avoid conflicts
None — discussion stayed within phase scope
Phase: 01-foundation Context gathered: 2026-02-03