Renommage generique : scripts Gitea - Docker avec DOCKER_APP_NAME
- Scripts renommes: gitea-backup.sh - docker-backup.sh, gitea-auto-update.sh - docker-auto-update.sh, gitea-scripts.conf - docker-scripts.conf - HOSTNAME dynamique via hostname, utilise dans BACKUP_DIR - DOCKER_APP_NAME comme variable maitresse derivant conteneurs, volumes, logs, chemins de backup - Configuration unifiee reutilisable pour toute app Docker - README, install_cron.sh, setup.sh, restore.sh mis a jour
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# =============================================================================
|
||||
# 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}"
|
||||
|
||||
# ─── 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) <<<}"
|
||||
Reference in New Issue
Block a user