Summary
stellar-notify must be self-hostable with a single docker-compose up -d. The Docker setup
should follow security best practices (non-root user, minimal image).
Acceptance criteria
Notes
Use node:20-alpine base image.
better-sqlite3 requires native build — ensure python3 and make are available in build stage.
Summary
stellar-notify must be self-hostable with a single
docker-compose up -d. The Docker setupshould follow security best practices (non-root user, minimal image).
Acceptance criteria
Dockerfile— multi-stage build (deps → runtime), non-root userstellar/app/datafor SQLiteHEALTHCHECKusingwgetagainst/api/healthdashboard/Dockerfile— Next.js standalone outputdocker-compose.yml— engine + dashboard services, shared volume,env_filedocker-compose up -dstarts cleanly with only.envconfiguredNotes
Use
node:20-alpinebase image.better-sqlite3requires native build — ensurepython3andmakeare available in build stage.