cf80bc7e97
Multi-stage Dockerfile, host-network compose, idempotent deploy script. Configs and persistent data bind-mounted from /opt/stacks/doctate-server. deploy-server.sh handles bootstrap + re-deploy in one command with auto-prune (keep 5 last SHA-tagged images). See docs/deployment.md for bootstrap, rollback, and TLS-proxy notes.
19 lines
541 B
Plaintext
19 lines
541 B
Plaintext
# Whitelist build-context: only `server/` and `common/` go into the image.
|
|
# Cargo's path dep `server/Cargo.toml` -> `path = "../common"` requires
|
|
# both directories side by side, so we must include `common/` explicitly.
|
|
*
|
|
!server/
|
|
!common/
|
|
|
|
# Re-exclude artifacts inside the whitelisted dirs.
|
|
server/target/
|
|
common/target/
|
|
**/*.log
|
|
**/*.bk
|
|
|
|
# Secrets and operator-owned configs MUST NEVER end up in the image —
|
|
# they are bind-mounted at runtime from /opt/stacks/doctate-server/config/.
|
|
server/.env
|
|
server/users.toml
|
|
server/settings.toml
|