101 lines
1.7 KiB
Markdown
101 lines
1.7 KiB
Markdown
# Operations Guide
|
|
|
|
## Install
|
|
|
|
```bash
|
|
./install.sh
|
|
```
|
|
|
|
The installer is idempotent:
|
|
|
|
- existing `.env` is kept;
|
|
- existing Docker/Compose installation is reused;
|
|
- repeated loading of packaged ours RP, Prometheus and Grafana ARM64 images is safe;
|
|
- existing data directory is reused.
|
|
|
|
## Start
|
|
|
|
```bash
|
|
./start.sh
|
|
```
|
|
|
|
Start without waiting for the first snapshot:
|
|
|
|
```bash
|
|
./start.sh --no-wait-first-run
|
|
```
|
|
|
|
## Stop and Restart
|
|
|
|
```bash
|
|
./stop.sh
|
|
./restart.sh
|
|
```
|
|
|
|
## Status Checks
|
|
|
|
```bash
|
|
./status.sh
|
|
./self-check.sh
|
|
```
|
|
|
|
Important checks:
|
|
|
|
- Docker/Compose availability;
|
|
- runtime, Prometheus and Grafana images exist;
|
|
- `HOST_DATA_DIR` is writable;
|
|
- Compose config is valid;
|
|
- latest run status;
|
|
- metrics, Prometheus and Grafana endpoints.
|
|
|
|
`status.sh` also prints:
|
|
|
|
- `periodic_snapshot_reset`
|
|
- `periodic_snapshot_max_deltas`
|
|
|
|
## Upgrade
|
|
|
|
Extract the new package into a new directory and explicitly reuse the existing `.env` through the upgrade script:
|
|
|
|
```bash
|
|
./upgrade.sh --reuse-env-from /path/to/old-installer/.env
|
|
```
|
|
|
|
If the new package directory already has a `.env`, the upgrade script keeps it.
|
|
|
|
Upgrade does not delete:
|
|
|
|
- `runs/`
|
|
- `logs/`
|
|
- `state/rsync-mirror`
|
|
- runtime configuration referenced by `.env`
|
|
- Prometheus / Grafana data
|
|
|
|
To validate periodic forced snapshot behavior, temporarily set:
|
|
|
|
```bash
|
|
PERIODIC_SNAPSHOT_RESET=1
|
|
PERIODIC_SNAPSHOT_MAX_DELTAS=2
|
|
```
|
|
|
|
Then confirm the latest `run-meta.json` contains:
|
|
|
|
```bash
|
|
snapshot_reason=periodic_snapshot_delta_limit
|
|
```
|
|
|
|
After validation, restore:
|
|
|
|
```bash
|
|
PERIODIC_SNAPSHOT_MAX_DELTAS=100
|
|
```
|
|
|
|
## Cleanup
|
|
|
|
```bash
|
|
./cleanup.sh --keep-runs 100
|
|
./cleanup.sh --keep-runs 100 --execute
|
|
```
|
|
|
|
Cleanup is dry-run by default. Add `--execute` after reviewing the output.
|