update readme
This commit is contained in:
34
README.md
34
README.md
@@ -69,19 +69,24 @@ All persistent data lives under `/opt/docker-data/`:
|
|||||||
|
|
||||||
## Managing Services
|
## 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
|
```bash
|
||||||
# Restart just Nextcloud
|
# Start / restart all services
|
||||||
docker compose -f nextcloud/docker-compose.yml --env-file .env up -d
|
docker compose --env-file .env up -d
|
||||||
|
|
||||||
# View logs for Gitea
|
# View logs for all services
|
||||||
docker compose -f gitea/docker-compose.yml --env-file .env logs -f
|
docker compose --env-file .env logs -f
|
||||||
|
|
||||||
# Stop everything
|
# Stop everything
|
||||||
for svc in monitoring gitea nextcloud caddy; do
|
docker compose --env-file .env down
|
||||||
docker compose -f $svc/docker-compose.yml --env-file .env down
|
```
|
||||||
done
|
|
||||||
|
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
|
## Adding a New Service
|
||||||
@@ -91,16 +96,17 @@ done
|
|||||||
- Join the `proxy` external network
|
- Join the `proxy` external network
|
||||||
- Bind mount data to `${DATA_ROOT}/myapp/`
|
- Bind mount data to `${DATA_ROOT}/myapp/`
|
||||||
- Add `myapp/.env.example` if the service needs secrets
|
- 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 {
|
myapp.t-gstone.de {
|
||||||
reverse_proxy myapp:8080
|
reverse_proxy myapp:8080
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
4. Reload Caddy: `docker exec caddy caddy reload --config /etc/caddy/Caddyfile`
|
5. 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 a DNS A record for `myapp.t-gstone.de` -> VPS IP
|
||||||
6. Add data directory creation to `scripts/deploy.sh`
|
7. Add data directory creation to `scripts/deploy.sh`
|
||||||
7. Add backup steps to `scripts/backup.sh` if the service has persistent data
|
8. Add backup steps to `scripts/backup.sh` if the service has persistent data
|
||||||
|
|
||||||
## Backup & Restore
|
## 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
|
2. Go to **My Account** -> **Grafana Cloud** -> your stack
|
||||||
3. Find your Loki and Prometheus endpoints + credentials
|
3. Find your Loki and Prometheus endpoints + credentials
|
||||||
4. Fill in `monitoring/.env` with those values
|
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
|
### Recommended Alerts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user