# auberge backup push
Push local backups to an offsite restic repository
## Usage
```bash
auberge backup push [OPTIONS]
# Alias: auberge b p
```
## Options
- `-H, --host` - Filter backups by host (interactive if multiple hosts exist)
- `-b, --backup-id` - Specific backup timestamp (default: latest)
## Setup
### Step 1: Install restic and rclone
```bash
# restic
brew install restic # macOS
sudo apt install restic # Debian/Ubuntu
# rclone (>= v1.73 required for native Filen backend)
brew install rclone
sudo apt install rclone
```
Verify versions:
```bash
restic version
rclone version # must be >= 1.73
```
### Step 2: Configure rclone remote for [Filen](https://filen.io)
Run the interactive config wizard:
```bash
rclone config
```
When prompted:
1. Choose `n` to create a new remote
2. Name it (e.g. `filen`)
3. Select `filen` as the storage type
4. Enter your Filen account email and password
5. Accept defaults for the remaining prompts, then quit
Create a folder on Filen to store backups (e.g. `auberge-backup`). You can do this via the Filen web UI or:
```bash
rclone mkdir filen:auberge-backup
```
Verify the remote works:
```bash
rclone ls filen:auberge-backup
```
### Step 3: Set auberge config
```bash
auberge config set restic_repository "rclone:filen:auberge-backup"
auberge config set restic_password "your-encryption-passphrase"
```
- `restic_repository` - the rclone remote path in the format `rclone:<remote-name>:<folder>`. This tells restic where to store snapshots.
- `restic_password` - restic's own encryption passphrase. This is **not** your Filen password — it is a separate key restic uses to encrypt data before uploading. Choose a strong passphrase and store it in a password manager. Losing it means losing access to all snapshots.
The repository is initialized automatically on first push.
## Full Workflow
```bash
# 1. Create a local backup
auberge backup create --host myserver
# 2. Push to offsite restic repository
auberge backup push --host myserver
# 3. Apply retention policy and prune old snapshots
auberge backup prune
```
See [backup create](create.md) and [backup prune](prune.md) for full options.
## Examples
```bash
# Push latest backup (auto-selects host if only one exists)
auberge backup push
# Push latest backup for specific host
auberge backup push --host myserver
# Push specific backup by timestamp
auberge backup push --host myserver --backup-id 2026-03-09_14-30-00
```