Sélectionner une révision Git
-
Rémi - Le Filament a rédigéRémi - Le Filament a rédigé
backup.yaml.j2 2,48 Kio
services:
backup_odoo:
image: sources.le-filament.com:5050/lefilament/duplicity_image/duplicity:latest
hostname: {{ inventory_hostname_short | lower | regex_replace('_','') }}-{{ template_odoo_instance.key }}
environment:
SRC: "/mnt/backup/src"
DST: "swift://{{ template_odoo_instance.key }}_{{ inventory_hostname | lower }}"
PGHOST: "db"
PGDATABASE: "{{ template_odoo_instance.value.db }}"
PGUSER: "{{ template_odoo_instance.value.db_user }}"
PGPASSWORD: "{{ template_odoo_instance.value.db_pass }}"
PASSPHRASE: "{{ template_odoo_instance.value.odoo_backup_pass | default(template_odoo_instance.value.master_pass) }}"
SWIFT_USERNAME: "{{ template_backup_credentials.username }}"
SWIFT_PASSWORD: "{{ template_backup_credentials.password }}"
SWIFT_AUTHURL: "{{ template_backup_account.value.authurl }}"
SWIFT_AUTHVERSION: {{ template_backup_account.value.authversion }}
SWIFT_TENANTNAME: "{{ template_backup_account.value.tenantname }}"
SWIFT_TENANTID: "{{ template_backup_account.value.tenantid }}"
SWIFT_REGIONNAME: "{{ template_backup_account.value.regionname }}"
volumes:
- {{ template_odoo_instance.key }}{{ template_backup_account.key }}_backup_cache:/root/.cache/duplicity/:rw
- {{ template_odoo_instance.key }}_filestore:/mnt/backup/src/odoo:ro
{% if template_odoo_instance.value.metabase | default(false) %}
- {{ template_odoo_instance.key }}_metabase:/mnt/backup/src/metabase:ro
{% endif %}
networks:
- {{ template_odoo_instance.key }}_default
- public
command: >
/bin/ash -c "
echo \"info: backup started on $$(date -Iseconds)\"
&& echo \"info: dumping '$$PGDATABASE' into '$$SRC/$$PGDATABASE.pgdump'...\"
&& pg_dump --no-owner --format c --file $$SRC/$$PGDATABASE.pgdump
&& echo \"info: backuping '$$SRC' to '$$DST'...\"
&& duplicity backup --full-if-older-than 6D $$SRC $$DST
&& echo \"info: removing all but 5 full backups in '$$DST'\"
&& duplicity remove-all-but-n-full 5 --force $$DST
&& echo \"info: backup done\""
networks:
{{ template_odoo_instance.key }}_default:
external: true
public:
driver_opts:
encrypted: 1
volumes:
{{ template_odoo_instance.key }}{{ template_backup_account.key }}_backup_cache:
{{ template_odoo_instance.key }}_filestore:
external: true
{% if template_odoo_instance.value.metabase | default(false) %}
{{ template_odoo_instance.key }}_metabase:
external: true
{% endif %}