https://github.com/huacnlee/gobackup
Каждые 10 минут
gobackup:
build:
context: ./backup
dockerfile: Dockerfile
volumes:
- ./gobackup.yml:/etc/gobackup/gobackup.template.yml
- ./.data/backups:/backups
environment:
FTP_HOST: localhost
SCHEDULE: "0 */10 * * * *"
Подробно: https://gobackup.github.io/
При запуске переменные ${VAR} заменяются на перменные окружения
models:
vodopad:
compress_with:
type: tgz
store_with:
type: ftp
host: ${FTP_HOST}
port: ${FTP_PORT}
path: ${FTP_PATH}
username: ${FTP_USERNAME}
password: ${FTP_PASSWORD}
databases:
main:
database: ${POSTGRES_DB}
type: postgresql
host: postgresql
port: 5432
username: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
Выполнить внутри контейнера - curl -v localhost:18080
./restore.sh db.tar.gz test_db
gobackup perform