Skip to content
Snippets Groups Projects
backup.yaml.j2 1.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • Rémi - Le Filament's avatar
    Rémi - Le Filament committed
    version: "2.1"
    services:
        backup_owncloud:
            build:
                context: .
                dockerfile: Dockerfile-mysql
            image: filament/duplicity:mysql
    
            hostname: {{ inventory_hostname_short | lower | regex_replace('_','') }}-owcnloud
    
    Rémi - Le Filament's avatar
    Rémi - Le Filament committed
            environment:
                DST: "swift://owncloud_{{ inventory_hostname|lower }}"
                MYSQL_DATABASE: {{ cloud_db_user }}
                MYSQL_USER: {{ cloud_db_user }}
                MYSQL_PASSWORD: {{ cloud_db_pass }}
                MYSQL_HOST: db
                PASSPHRASE: "{{ cloud_backup_pass | default(cloud_db_pass) }}"
                SWIFT_USERNAME: "{{ swift_cloud_username }}"
                SWIFT_PASSWORD: "{{ swift_cloud_password }}"
                SWIFT_AUTHURL: "{{ swift_cloud_authurl }}"
                SWIFT_AUTHVERSION: {{ swift_cloud_authversion }}
                SWIFT_TENANTNAME: "{{ swift_cloud_tenantname }}"
                SWIFT_TENANTID: "{{ swift_cloud_tenantid }}"
                SWIFT_REGIONNAME: "{{ swift_cloud_regionname }}"
    
                JOB_300_WHAT: "mysqldump -h $$MYSQL_HOST -u $$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE --result-file='$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql' && dup full $$SRC $$DST && rm '$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql'"
    
    Rémi - Le Filament's avatar
    Rémi - Le Filament committed
                JOB_300_WHEN: "weekly"
                JOB_302_WHAT: "dup remove-all-but-n-full 5 --force $$DST $$@"
                JOB_302_WHEN: "weekly"
            volumes:
                - owncloud_owncloud:/mnt/backup/src/owncloud:z
                - ./owncloud:/backups
            networks:
                - owncloud_default
                - public
            command:
                - /etc/periodic/weekly/jobrunner
    
    networks:
        owncloud_default:
            external: true
        public:
            driver_opts:
                encrypted: 1
    
    volumes:
        owncloud_owncloud:
            external: true