#!/bin/bash # Configuration centralisée pour le système de backup citadel # Copiez ce fichier vers backup.env et adaptez les valeurs selon votre environnement # === Configuration Essentielle === # Utilisateur système qui exécutera les backups CITADEL_USER="${CITADEL_USER:-citadel}" # Racine du projet citadel PROJECT_ROOT="${PROJECT_ROOT:-/home/citadel}" # Répertoire contenant les services à sauvegarder SERVICES_BASE_DIR="${SERVICES_BASE_DIR:-$PROJECT_ROOT/services}" # === Variables Communes === # User/Group IDs pour les containers Docker PUID="${PUID:-1000}" PGID="${PGID:-1000}" # Timezone globale TZ="${TZ:-Europe/Paris}" # === Stockage Restic === # Chemin de base pour le stockage des backups RESTIC_STORAGE="${RESTIC_STORAGE:-/mnt/data/backup}" # Nom du repository Restic RESTIC_REPO="${RESTIC_REPO:-citadel}" # === Système === # Planning de sauvegarde par défaut (format systemd) # Exemples: "*-*-* 03:00:00" (quotidien 3h), "Mon *-*-* 04:00:00" (lundi 4h) DEFAULT_BACKUP_SCHEDULE="${DEFAULT_BACKUP_SCHEDULE:-*-*-* 03:00:00}" # Répertoire des logs système LOG_DIR="${LOG_DIR:-/var/log}" # Répertoire temporaire TEMP_DIR="${TEMP_DIR:-/tmp}" # Fichier de configuration Restic (généré automatiquement) RESTIC_CONFIG_FILE="${RESTIC_CONFIG_FILE:-$HOME/.config/citadel/restic.conf}" # === Politique de Rétention === # Nombre de sauvegardes quotidiennes à conserver RETENTION_DAILY="${RETENTION_DAILY:-7}" # Nombre de sauvegardes hebdomadaires à conserver RETENTION_WEEKLY="${RETENTION_WEEKLY:-4}" # Nombre de sauvegardes mensuelles à conserver RETENTION_MONTHLY="${RETENTION_MONTHLY:-12}" # Nombre de sauvegardes annuelles à conserver RETENTION_YEARLY="${RETENTION_YEARLY:-3}" # === Variables Dérivées (automatiquement calculées) === BACKUP_HOME="${BACKUP_HOME:-/home/$CITADEL_USER}" BACKUP_BASE_DIR="${BACKUP_BASE_DIR:-$BACKUP_HOME/backup}" BACKUP_REPOSITORY="${BACKUP_REPOSITORY:-$RESTIC_STORAGE/$RESTIC_REPO}" RESTIC_CACHE_DIR="${RESTIC_CACHE_DIR:-$TEMP_DIR/restic-cache}" CONFIG_DIR="${CONFIG_DIR:-$HOME/.config/citadel}" SYSTEMD_DIR="${SYSTEMD_DIR:-/etc/systemd/system}" SERVICE_TEMPLATE="${SERVICE_TEMPLATE:-service-backup@.service}" TIMER_TEMPLATE="${TIMER_TEMPLATE:-service-backup@.timer}" # === Variables d'export pour Restic === export RESTIC_REPOSITORY="$BACKUP_REPOSITORY" export RESTIC_CACHE_DIR # === Variables d'export communes === export PUID export PGID export TZ