60 lines
1.6 KiB
Markdown
60 lines
1.6 KiB
Markdown
|
|
# Phase 1: Foundation - Context
|
||
|
|
|
||
|
|
**Gathered:** 2026-02-03
|
||
|
|
**Status:** Ready for planning
|
||
|
|
|
||
|
|
<domain>
|
||
|
|
## 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.
|
||
|
|
|
||
|
|
</domain>
|
||
|
|
|
||
|
|
<decisions>
|
||
|
|
## 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
|
||
|
|
|
||
|
|
</decisions>
|
||
|
|
|
||
|
|
<specifics>
|
||
|
|
## 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
|
||
|
|
|
||
|
|
</specifics>
|
||
|
|
|
||
|
|
<deferred>
|
||
|
|
## Deferred Ideas
|
||
|
|
|
||
|
|
None — discussion stayed within phase scope
|
||
|
|
|
||
|
|
</deferred>
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
*Phase: 01-foundation*
|
||
|
|
*Context gathered: 2026-02-03*
|