From 158a8e6eb4a89483b96a5aea09de68673a56b638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Gra=CC=88fenstein?= Date: Sun, 22 Mar 2026 12:38:24 +0100 Subject: [PATCH] update readme --- README.md | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 4a8287d..ed25289 100644 --- a/README.md +++ b/README.md @@ -69,19 +69,24 @@ All persistent data lives under `/opt/docker-data/`: ## Managing Services -Each service has its own compose file and can be managed independently: +A root `docker-compose.yml` includes all stacks, so you can manage everything with one command: ```bash -# Restart just Nextcloud -docker compose -f nextcloud/docker-compose.yml --env-file .env up -d +# Start / restart all services +docker compose --env-file .env up -d -# View logs for Gitea -docker compose -f gitea/docker-compose.yml --env-file .env logs -f +# View logs for all services +docker compose --env-file .env logs -f # Stop everything -for svc in monitoring gitea nextcloud caddy; do - docker compose -f $svc/docker-compose.yml --env-file .env down -done +docker compose --env-file .env down +``` + +You can still target individual services via their compose file: + +```bash +docker compose -f nextcloud/docker-compose.yml --env-file .env up -d +docker compose -f gitea/docker-compose.yml --env-file .env logs -f ``` ## Adding a New Service @@ -91,16 +96,17 @@ done - Join the `proxy` external network - Bind mount data to `${DATA_ROOT}/myapp/` - Add `myapp/.env.example` if the service needs secrets -3. Add a reverse proxy entry in `caddy/Caddyfile`: +3. Add `- path: myapp/docker-compose.yml` to root `docker-compose.yml` +4. Add a reverse proxy entry in `caddy/Caddyfile`: ``` myapp.t-gstone.de { reverse_proxy myapp:8080 } ``` -4. Reload Caddy: `docker exec caddy caddy reload --config /etc/caddy/Caddyfile` -5. Add a DNS A record for `myapp.t-gstone.de` -> VPS IP -6. Add data directory creation to `scripts/deploy.sh` -7. Add backup steps to `scripts/backup.sh` if the service has persistent data +5. Reload Caddy: `docker exec caddy caddy reload --config /etc/caddy/Caddyfile` +6. Add a DNS A record for `myapp.t-gstone.de` -> VPS IP +7. Add data directory creation to `scripts/deploy.sh` +8. Add backup steps to `scripts/backup.sh` if the service has persistent data ## Backup & Restore @@ -153,7 +159,7 @@ or low cost, and Restic handles encryption + deduplication automatically. A cron 2. Go to **My Account** -> **Grafana Cloud** -> your stack 3. Find your Loki and Prometheus endpoints + credentials 4. Fill in `monitoring/.env` with those values -5. Start the monitoring stack: `docker compose -f monitoring/docker-compose.yml --env-file .env up -d` +5. Start the monitoring stack: `docker compose --env-file .env up -d` ### Recommended Alerts