initial commit
This commit is contained in:
53
backup/backup.yml
Normal file
53
backup/backup.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
services:
|
||||
pgbackup:
|
||||
image: postgres:18-alpine
|
||||
container_name: pgbackup
|
||||
restart: always
|
||||
environment:
|
||||
PGPASSWORD: ${POSTGRES_ADMIN_PASSWORD}
|
||||
POSTGRES_HOST: postgres
|
||||
POSTGRES_USER: ${POSTGRES_ADMIN_USER}
|
||||
DB_LIST: ${BKP_DB_LIST}
|
||||
TIMEZONE: ${TIMEZONE}
|
||||
volumes:
|
||||
- ./backups:/backups
|
||||
- ./scripts/backup/pg-dump.sh:/pg-dump.sh
|
||||
- ./scripts/backup/pg-dump.cron:/etc/crontabs/root
|
||||
entrypoint: ["/bin/sh", "-c", "# map host /backups ownership to container backup user\nHOST_UID=$$(stat -c '%u' /backups 2>/dev/null || echo 1000) && HOST_GID=$$(stat -c '%g' /backups 2>/dev/null || echo 1000) && addgroup -g \"$$HOST_GID\" backup 2>/dev/null || true && adduser -D -u \"$$HOST_UID\" -G backup backup 2>/dev/null || true && mkdir -p /var/log /backups && chown -R \"$$HOST_UID\":\"$$HOST_GID\" /var/log /backups 2>/dev/null || true && chmod +x /pg-dump.sh && chown root:root /etc/crontabs/root 2>/dev/null || true && crond -f"]
|
||||
|
||||
backup-manager:
|
||||
image: alpine:latest
|
||||
container_name: backup-manager
|
||||
restart: always
|
||||
depends_on:
|
||||
- pgbackup
|
||||
environment:
|
||||
BACKUP_RETENTION_COUNT: ${BKP_RETENTION_COUNT}
|
||||
BACKUP_RETENTION_DAYS: ${BKP_RETENTION_DAYS}
|
||||
TIMEZONE: ${TIMEZONE}
|
||||
volumes:
|
||||
- ./backups:/backups
|
||||
- type: volume
|
||||
source: odoo-db-data
|
||||
target: /odoo_db_data
|
||||
read_only: true
|
||||
- type: volume
|
||||
source: odoo-config
|
||||
target: /odoo_config
|
||||
read_only: true
|
||||
- type: volume
|
||||
source: gitea_data
|
||||
target: /gitea_data
|
||||
read_only: true
|
||||
- type: volume
|
||||
source: opencloud-data
|
||||
target: /opencloud_data
|
||||
read_only: true
|
||||
- type: volume
|
||||
source: opencloud-config
|
||||
target: /opencloud_config
|
||||
read_only: true
|
||||
- ./scripts/backup/manage-backups.sh:/manage-backups.sh
|
||||
- ./scripts/backup/backup-manager.cron:/etc/crontabs/root
|
||||
entrypoint: ["/bin/sh", "-c", "# install bsdtar for xattr-aware archives\napk add --no-cache libarchive-tools attr >/dev/null \n# map host /backups ownership to container backup user\nHOST_UID=$$(stat -c '%u' /backups 2>/dev/null || echo 1000) && HOST_GID=$$(stat -c '%g' /backups 2>/dev/null || echo 1000) && addgroup -g \"$$HOST_GID\" backup 2>/dev/null || true && adduser -D -u \"$$HOST_UID\" -G backup backup 2>/dev/null || true && mkdir -p /var/log /backups && chown -R \"$$HOST_UID\":\"$$HOST_GID\" /var/log /backups 2>/dev/null || true && chmod +x /manage-backups.sh && chown root:root /etc/crontabs/root 2>/dev/null || true && crond -f"]
|
||||
Reference in New Issue
Block a user