# Backup & Restore

Pour réaliser une sauvegarde complète d'Immich il sera nécessaire de réaliser une backup de la BDD ET une backup des fichiers présent dans le répertoire UPLOAD\_LOCATION.

#### 1. Sauver la BDD

Voici la commande a réaliser pour sauvegarder la base de donnée d'Immich :

```bash
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=<DB_USERNAME> | gzip > "/path/to/backup/dump.sql.gz"
```

#### 2. Sauver les fichiers

Tous les fichiers uploads sur Immich se trouvent dans le répertoire référencer dans le fichier de conf `.env` :

```
UPLOAD_LOCATION=/path/to/upload_location
```

Il suffira d'utiliser l'utilitaire `rsync` pour synchroniser les fichiers sur un autre serveur.

```bash
sudo rsync -r -avh /path/to/upload_location /path/to/destination --delete

# Exemple 
rsync -av user@server.com:/mnt/storage/volumes/immich/library /mnt/cloud/volumes/immich
```

```
docker run -it -v "$(pwd)":/import:ro -e IMMICH_INSTANCE_URL=<http-url-server>/api -e IMMICH_API_KEY=<api-key ghcr.io/immich-app/immich-cli:latest upload -a -c 5 --recursive /my/folder
```