# ============================================================================= # docker-scripts.conf — Configuration unifiée pour scripts Docker génériques # ============================================================================= # Ce fichier est sourcé par tous les scripts (backup, auto-update, install_cron). # Les valeurs peuvent être surchargées par des variables d'environnement. # # Pour réutiliser avec une autre app Docker, changer DOCKER_APP_NAME : # DOCKER_APP_NAME=monapp bash docker-backup.sh # ============================================================================= # ─── Identité ───────────────────────────────────────────────────────────────── # Hôte : automatiquement détecté, surchargeable HOSTNAME="${HOSTNAME:-$(hostname)}" # Nom de l'application Docker (définit tous les dérivés) DOCKER_APP_NAME="${DOCKER_APP_NAME:-gitea}" # ─── Chemins (dérivés de DOCKER_APP_NAME et HOSTNAME) ───────────────────────── SCRIPTS_DIR="${SCRIPTS_DIR:-$HOME/scripts}" COMPOSE_DIR="${COMPOSE_DIR:-$HOME/dev/git/outils/$DOCKER_APP_NAME}" COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}" BACKUP_DIR="${BACKUP_DIR:-/NFS/BACKUP/DOCKER/$HOSTNAME/$DOCKER_APP_NAME}" LOCK_DIR="${LOCK_DIR:-/tmp}" # ─── Conteneurs (dérivés de DOCKER_APP_NAME) ────────────────────────────────── APP_SERVICE="${APP_SERVICE:-${DOCKER_APP_NAME}_server}" APP_CONTAINER="${APP_CONTAINER:-${DOCKER_APP_NAME}_server}" DB_SERVICE="${DB_SERVICE:-${DOCKER_APP_NAME}_db}" DB_CONTAINER="${DB_CONTAINER:-${DOCKER_APP_NAME}_db}" # ─── Image Docker ───────────────────────────────────────────────────────────── IMAGE_NAME="${IMAGE_NAME:-gitea/gitea}" IMAGE_TAG="${IMAGE_TAG:-latest}" # ─── Base de données (dérivés de DOCKER_APP_NAME) ───────────────────────────── DB_NAME="${DB_NAME:-$DOCKER_APP_NAME}" DB_USER="${DB_USER:-$DOCKER_APP_NAME}" DB_PASSWORD="${DB_PASSWORD:-chab30}" DB_ROOT_PASSWORD="${DB_ROOT_PASSWORD:-gitea}" # ─── Volumes Docker - chemins HÔTE (dérivés de DOCKER_APP_NAME) ─────────────── VOLUME_DATA="${VOLUME_DATA:-/DOCKER_CONFIG/$DOCKER_APP_NAME/data}" VOLUME_MYSQL="${VOLUME_MYSQL:-/DOCKER_CONFIG/$DOCKER_APP_NAME/mysql}" # ─── URLs ───────────────────────────────────────────────────────────────────── HEALTH_CHECK_URL="${HEALTH_CHECK_URL:-http://localhost:3000}" HEALTH_CHECK_TIMEOUT="${HEALTH_CHECK_TIMEOUT:-30}" # Endpoint version (ex: /api/v1/version pour Gitea). Laisser vide pour détection auto. VERSION_ENDPOINT="${VERSION_ENDPOINT:-}" # ─── Logs (dérivés de DOCKER_APP_NAME) ──────────────────────────────────────── LOG_DIR="${LOG_DIR:-/var/log}" UPDATE_LOG="${UPDATE_LOG:-$LOG_DIR/${DOCKER_APP_NAME}-update.log}" BACKUP_LOG="${BACKUP_LOG:-$LOG_DIR/${DOCKER_APP_NAME}-backup.log}" BACKUP_CRON_LOG="${BACKUP_CRON_LOG:-$LOG_DIR/${DOCKER_APP_NAME}-backup-cron.log}" UPDATE_CRON_LOG="${UPDATE_CRON_LOG:-$LOG_DIR/${DOCKER_APP_NAME}-update-cron.log}" LOG_RETENTION_DAYS="${LOG_RETENTION_DAYS:-90}" # ─── Rétention backups ──────────────────────────────────────────────────────── RETENTION_DAYS="${RETENTION_DAYS:-30}" RETENTION_WEEKLY="${RETENTION_WEEKLY:-4}" RETENTION_MONTHLY="${RETENTION_MONTHLY:-6}" # ─── Options backup ─────────────────────────────────────────────────────────── COMPRESS="${COMPRESS:-true}" VERIFY_BACKUP="${VERIFY_BACKUP:-true}" STOP_CONTAINERS="${STOP_CONTAINERS:-false}" ENABLE_NOTIFICATIONS="${ENABLE_NOTIFICATIONS:-false}" # ─── Notifications ──────────────────────────────────────────────────────────── NOTIFY_METHOD="${NOTIFY_METHOD:-log}" TELEGRAM_BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-}" TELEGRAM_CHAT_ID="${TELEGRAM_CHAT_ID:-}" NTPY_TOPIC="${NTPY_TOPIC:-}" # ─── Backup distant (optionnel) ─────────────────────────────────────────────── REMOTE_BACKUP_ENABLED="${REMOTE_BACKUP_ENABLED:-false}" REMOTE_BACKUP_METHOD="${REMOTE_BACKUP_METHOD:-rsync}" REMOTE_BACKUP_HOST="${REMOTE_BACKUP_HOST:-}" REMOTE_BACKUP_USER="${REMOTE_BACKUP_USER:-}" REMOTE_BACKUP_PATH="${REMOTE_BACKUP_PATH:-}" REMOTE_BACKUP_SSH_KEY="${REMOTE_BACKUP_SSH_KEY:-$HOME/.ssh/id_rsa}" # ─── Cron (dérivés de DOCKER_APP_NAME) ──────────────────────────────────────── CRON_BACKUP_SCHEDULE="${CRON_BACKUP_SCHEDULE:-0 2 * * *}" CRON_UPDATE_SCHEDULE="${CRON_UPDATE_SCHEDULE:-0 4 * * *}" CRON_MARKER="${CRON_MARKER:-# >>> ${DOCKER_APP_NAME^^} SCRIPTS (managed by install_cron.sh) <<<}"