- Dockerfile: golang:1.23-bookworm builder → distroless/static-debian12:nonroot - docker-compose.yml: host networking (required for mDNS), Traefik labels, resource limits - VERSION: 0.1.0 for image tagging - .dockerignore: excludes docs, build artifacts, IDE files - .gitignore: standard Go/ESP-IDF ignores Key decisions: - Host networking required: Docker bridge blocks mDNS multicast 224.0.0.251 - distroless/static-debian12:nonroot: no shell, minimal attack surface, UID 65532 - Firmware via volume mount: users provide their own binaries for OTA - Traefik labels disabled by default: enable SPAXEL_TRAEFIK_ENABLE=true for TLS Complete: Phase 1 Docker packaging — all foundation items now done Remaining: Phase 2 signal processing (baseline, deltaRMS, Fresnel zones)
37 lines
376 B
Text
37 lines
376 B
Text
# Git
|
|
.git
|
|
.gitignore
|
|
|
|
# Documentation
|
|
docs/
|
|
*.md
|
|
!README.md
|
|
|
|
# Marathon logs
|
|
.marathon/
|
|
|
|
# Firmware build artifacts (use volume mount instead)
|
|
firmware/build/
|
|
firmware/managed_components/
|
|
firmware/.cache/
|
|
|
|
# IDE and editor files
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Test and coverage
|
|
*.test
|
|
*.out
|
|
coverage.txt
|
|
|
|
# Temporary files
|
|
tmp/
|
|
temp/
|
|
*.tmp
|