npm_config_build_from_source=true tells prebuild-install to skip the prebuilt
glibc binary download and compile against the container's musl libc instead.
The previous attempt (npm rebuild --build-from-source) ran after the glibc
binary was already installed and didn't override it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
prebuild-install downloads a prebuilt glibc .node binary for linux-x64 which
fails on Alpine (musl) with 'fcntl64: symbol not found'. Adding an explicit
npm rebuild --build-from-source step forces compilation against musl libc
inside the container, which is correct.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New api/ service: Express + better-sqlite3, health check at GET /api/health,
POST /api/bookings stores sessions with all required fields
- Dockerfile with Alpine build deps for native sqlite3 module
- docker-compose.yml: api service with volume mounts for data, signed-contracts, contracts
- nginx.conf: proxy /api/ to api:3001; Immich regex locations remain higher priority
- .gitignore: exclude SQLite db file and signed PDFs from version control
Closes#1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>