Harden compose secrets and add required provisioning docs
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Deployment prerequisites (required)
|
||||
|
||||
Before running `docker compose up`, you **must** provision runtime secrets.
|
||||
|
||||
## 1) Create non-committed secret files
|
||||
|
||||
```bash
|
||||
cp secrets/.env.secrets.example secrets/stack-secrets.env
|
||||
chmod 600 secrets/stack-secrets.env
|
||||
```
|
||||
|
||||
Create these Docker secret files (all ignored by git):
|
||||
|
||||
- `secrets/nextcloud_db_root_password.txt`
|
||||
- `secrets/nextcloud_db_password.txt`
|
||||
- `secrets/nextcloud_admin_password.txt`
|
||||
- `secrets/nextcloud_smtp_password.txt`
|
||||
- `secrets/nextcloud_redis_password.txt`
|
||||
- `secrets/passbolt_db_password.txt`
|
||||
- `secrets/gramps_db_password.txt`
|
||||
- `secrets/influxdb_init_password.txt`
|
||||
- `secrets/prometheus_kuma_basic_auth_password.txt`
|
||||
|
||||
Recommended permissions:
|
||||
|
||||
```bash
|
||||
chmod 600 secrets/*.txt
|
||||
```
|
||||
|
||||
## 2) Rotate previously committed credentials
|
||||
|
||||
These values were previously hardcoded and must be rotated in upstream systems immediately:
|
||||
|
||||
- Database credentials (Nextcloud, Passbolt, Gramps, InfluxDB).
|
||||
- Nextcloud SMTP app password.
|
||||
- Authelia reset JWT secret, session secret, storage encryption key.
|
||||
- Traefik CrowdSec LAPI key.
|
||||
- Gotify admin password.
|
||||
- Prometheus Uptime Kuma basic-auth password.
|
||||
|
||||
## 3) Start stack
|
||||
|
||||
After secrets are provisioned:
|
||||
|
||||
```bash
|
||||
docker compose -f core/docker-compose.yml up -d
|
||||
docker compose -f monitoring/prometheus/docker-compose.yml up -d
|
||||
docker compose -f apps/nextcloud/docker-compose.yml up -d
|
||||
```
|
||||
Reference in New Issue
Block a user