Baseline: wave 1A server complete, wave 1B Android scaffold + design system green

assembleDebug, testDebugUnitTest, and recordPaparazziDebug all pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bThmkmyUUdqQpy3MXFFe5
This commit is contained in:
2026-09-06 01:58:37 +00:00
commit 6c17e42037
79 changed files with 3773 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# Bookshelf PocketBase server — Docker Compose deployment.
#
# Build context is the parent `server/` directory (so the Dockerfile can see
# pocketbase, pb_migrations/, pb_hooks/). Run compose from server/deploy/:
#
# cd server/deploy && docker compose up -d
#
# Data lives in the named volume `bookshelf_pb_data`, independent of the
# container lifecycle — `docker compose down` (without -v) never touches it.
#
# The port is published on 127.0.0.1 only, matching bookshelf.service: this
# container is meant to sit behind Tailscale or a Caddy reverse proxy on the
# same host, never exposed directly to the internet (see deploy/README.md).
services:
pocketbase:
build:
context: ..
dockerfile: deploy/Dockerfile
container_name: bookshelf-pocketbase
restart: unless-stopped
ports:
- "127.0.0.1:8090:8090"
volumes:
- bookshelf_pb_data:/pb/pb_data
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:8090/api/health"]
interval: 30s
timeout: 5s
retries: 3
volumes:
bookshelf_pb_data:
name: bookshelf_pb_data