Files
pirate-station/.planning/phases/01-foundation/01-CONTEXT.md
Mikkeli Matlock fbaf0a92b1 docs(01): capture phase context
Phase 01: Foundation
- Container isolation decisions documented
- Build strategy established
- Dev workflow defined

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 01:29:40 +09:00

1.6 KiB

Phase 1: Foundation - Context

Gathered: 2026-02-03 Status: Ready for planning

## Phase Boundary

Go 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 Decisions

Container 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 /data inside 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
## Specific Ideas
  • 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
## Deferred Ideas

None — discussion stayed within phase scope


Phase: 01-foundation Context gathered: 2026-02-03