initial move to resticprofile

This commit is contained in:
John Lancaster
2024-06-15 14:12:15 -05:00
parent 08e02d12db
commit 18b53fe103
5 changed files with 88 additions and 17 deletions

View File

@@ -5,17 +5,32 @@ Purpose:
- Wrap `restic` with the ability to start/stop Docker containers
- Send updates to Loki server
## Environment Variables
## Installation
Recommended to put these in the relevant `~/.bashrc` file
### Environment Variables
| Env Variable | Description |
|---------------------|--------------------------------------------------------------------------------------------|
| `HOSTNAME` | Network hostname of where the backup is running. Used to tag the backups in restic |
| `BACKUP_DIR` | Directory to back up |
| `RESTIC_REPOSITORY` | Directory for the restic repository. This is usually on a mount point made from Proxmox |
| `RESTIC_PASSWORD` | Password for the restic repository |
| `LOKI_URL` | Push URL for Loki. Should include the port and end with something like `/loki/api/v1/push` |
Put these in `./restic-scripts/.env`, which is on the `.gitignore` list.
| Env Variable | Description |
| ------------------- | --------------------------------------------------------------------------------------- |
| `BACKUP_DIR` | Directory to back up |
| `RESTIC_REPOSITORY` | Directory for the restic repository. This is usually on a mount point made from Proxmox |
| `TZ` | Set to modify the timezone shown in the scheduler |
### Include in Repo
From a parent repo, add this one as a submodule:
```shell
git submodule add https://gitea.john-stream.com/john/restic-scripts
```
Then add this to the `docker-compose.yml` file of the parent.
```yaml
include:
- restic-scripts/docker-compose.yml
```
## Loki Updates
@@ -28,16 +43,14 @@ Updates sent to Loki will have the following labels:
## Usage
```shell
python -m restic.snapshots
```
To stop docker containers before the backup and start them again afterwards, use the `--project` and `--services` flags.
Check snapshots
```shell
python -m restic.backup --tag manual --project joplin --services app,db
docker compose exec backup resticprofile snapshots
```
Dry-run a backup
```shell
python -m restic.prune
docker compose exec backup resticprofile --dry-run backup
```