Files
docker-s3-backup/docker-compose.yaml
S.Gromov f8e0267b54 Обновлены скрипты и конфигурации для улучшения резервного копирования
- Изменено имя папки в S3 на имя проекта по умолчанию
- Обновлено количество хранимых версий бэкапов вместо дней
- Изменено расписание запуска бэкапов на 05:00
- Обновлены переменные окружения в примерах и документации
- Улучшено логирование и обработка старых бэкапов
2025-10-22 10:24:53 +03:00

61 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ===========================================
# Universal Docker Project Backup Service
# Автоматическое резервное копирование Docker-проектов в S3
# ===========================================
services:
backup:
build: .
container_name: project-backup
restart: unless-stopped
environment:
- TZ=${TZ:-Europe/Moscow}
# Имя проекта (используется в названии архива: {name}-backup-2025-10-22_03-00-00.tar.gz)
- BACKUP_PROJECT_NAME=${BACKUP_PROJECT_NAME:-project}
# S3 бакет для хранения бэкапов (обязательно)
- BACKUP_S3_BUCKET=${BACKUP_S3_BUCKET}
# Папка внутри бакета (необязательно, по умолчанию - имя проекта)
- BACKUP_S3_FOLDER=${BACKUP_S3_FOLDER:-}
# Эндпоинт S3 сервиса (обязательно): s3.twcstorage.ru, storage.yandexcloud.net и т.д.
- BACKUP_S3_ENDPOINT=${BACKUP_S3_ENDPOINT}
# Ключи доступа к S3 (обязательно)
- BACKUP_S3_ACCESS_KEY=${BACKUP_S3_ACCESS_KEY}
- BACKUP_S3_SECRET_KEY=${BACKUP_S3_SECRET_KEY}
# Регион S3
- BACKUP_S3_REGION=${BACKUP_S3_REGION:-ru-1}
# Количество последних версий бэкапов для хранения (автоматически удаляются старые)
- BACKUP_RETENTION_COUNT=${BACKUP_RETENTION_COUNT:-30}
# Расписание запуска в формате cron: "0 5 * * *" = каждый день в 05:00 МСК
- BACKUP_SCHEDULE=${BACKUP_SCHEDULE:-0 5 * * *}
# Запускать ли бэкап сразу при старте контейнера (true/false)
- BACKUP_ON_START=${BACKUP_ON_START:-false}
# Список сервисов для остановки перед бекапом через пробел (необязательно): gitea gitea-db
- BACKUP_STOP_SERVICES=${BACKUP_STOP_SERVICES:-}
volumes:
# Директория проекта для бекапа (переопределяется через BACKUP_SOURCE_PATH, по умолчанию: текущая директория)
- ${BACKUP_SOURCE_PATH:-.}:/backup-source:ro
# Синхронизация времени с хостом
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# Docker socket для управления контейнерами (нужен для BACKUP_STOP_SERVICES)
- /var/run/docker.sock:/var/run/docker.sock:ro
# Раскомментируйте если нужно подключить к сети других сервисов
#networks:
# gitea_network:
# name: gitea_network