Add backup config and fix timezone in containers

This commit is contained in:
Paul-Henri Froidmont 2018-01-07 20:22:21 +01:00
parent 9f7679c7aa
commit fe296230a8
15 changed files with 73 additions and 13 deletions

View file

@ -9,6 +9,7 @@
- rpg - rpg
roles: roles:
- role: scripts - role: scripts
- role: daily-backup
- role: murmur-docker - role: murmur-docker
- role: searx-docker - role: searx-docker
- role: wiki-docker - role: wiki-docker

View file

@ -11,3 +11,5 @@
- ufw - ufw
- vim - vim
- wget - wget
- borg

View file

@ -0,0 +1,7 @@
[Unit]
Description=Full server backup
[Service]
Type=simple
ExecStart=/root/fullBackup.sh

View file

@ -0,0 +1,10 @@
[Unit]
Description=Timer for daily backup
[Timer]
OnCalendar=*-*-* 04:00:00
Persistent=true
[Install]
WantedBy=timers.target

View file

@ -0,0 +1,23 @@
---
- name: Create fullBackup.sh
template:
src: fullBackup.sh
dest: /root/fullBackup.sh
mode: 0700
- name: Copy daily-backup.service
copy:
src: daily-backup.service
dest: /etc/systemd/system/
mode: 0700
- name: Copy daily-backup.timer
copy:
src: daily-backup.timer
dest: /etc/systemd/system/
mode: 0700
- name: Enable and start daily-backup
systemd:
name: daily-backup.timer
state: started
enabled: yes
daemon_reload: yes

View file

@ -23,13 +23,16 @@ echo 'Starting Borg backup'
borg create -v --stats --compression lz4 \ borg create -v --stats --compression lz4 \
${REPOSITORY}::'{hostname}-{now:%Y-%m-%d}' \ ${REPOSITORY}::'{hostname}-{now:%Y-%m-%d}' \
/root \ /root \
/home \
/media \
/etc \ /etc \
/var \ /var/lib/deluge \
/var/lib/mailu \
/var/lib/matrix/media_store \
/var/lib/nextcloud \
/var/lib/wiki \
/backups \ /backups \
--exclude '/var/lib/nextcloud/db' \ --exclude '/var/lib/nextcloud/db'
--exclude '/var/lib/plex/transcode' \
--exclude '/var/lib/prometheus' \
--exclude '/var/lib/gitlab/data'
# Route the normal process logging to journalctl # Route the normal process logging to journalctl
2>&1 2>&1

View file

@ -11,6 +11,7 @@ services:
volumes: volumes:
- ./config:/config - ./config:/config
- /media:/media:ro - /media:/media:ro
- /etc/localtime:/etc/localtime:ro
environment: environment:
- PUID=33 - PUID=33
- PGID=33 - PGID=33

View file

@ -22,6 +22,7 @@ services:
- /var/log/gitlab:/var/log/gitlab - /var/log/gitlab:/var/log/gitlab
- /var/lib/gitlab:/var/opt/gitlab - /var/lib/gitlab:/var/opt/gitlab
- /backups/gitlab:/var/opt/gitlab/backups - /backups/gitlab:/var/opt/gitlab/backups
- /etc/localtime:/etc/localtime:ro
networks: networks:
- proxy-tier - proxy-tier
restart: always restart: always
@ -31,4 +32,5 @@ services:
volumes: volumes:
- ./runner-config:/etc/gitlab-runner - ./runner-config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
restart: always restart: always

View file

@ -28,6 +28,7 @@ services:
- "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem" - "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem"
- "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem" - "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem"
- "$ROOT/overrides:/overrides" - "$ROOT/overrides:/overrides"
- /etc/localtime:/etc/localtime:ro
smtp: smtp:
image: mailu/postfix:$VERSION image: mailu/postfix:$VERSION
@ -42,6 +43,7 @@ services:
- "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem" - "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem"
- "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem" - "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem"
- "$ROOT/overrides:/overrides" - "$ROOT/overrides:/overrides"
- /etc/localtime:/etc/localtime:ro
milter: milter:
image: mailu/rmilter:$VERSION image: mailu/rmilter:$VERSION
@ -51,6 +53,7 @@ services:
- "$ROOT/filter:/data" - "$ROOT/filter:/data"
- "$ROOT/dkim:/dkim" - "$ROOT/dkim:/dkim"
- "$ROOT/overrides:/overrides" - "$ROOT/overrides:/overrides"
- /etc/localtime:/etc/localtime:ro
antispam: antispam:
image: mailu/rspamd:$VERSION image: mailu/rspamd:$VERSION
@ -58,6 +61,7 @@ services:
env_file: .env env_file: .env
volumes: volumes:
- "$ROOT/filter:/var/lib/rspamd" - "$ROOT/filter:/var/lib/rspamd"
- /etc/localtime:/etc/localtime:ro
antivirus: antivirus:
image: mailu/clamav:$VERSION image: mailu/clamav:$VERSION
@ -65,6 +69,7 @@ services:
env_file: .env env_file: .env
volumes: volumes:
- "$ROOT/filter:/data" - "$ROOT/filter:/data"
- /etc/localtime:/etc/localtime:ro
webdav: webdav:
image: mailu/$WEBDAV:$VERSION image: mailu/$WEBDAV:$VERSION
@ -72,6 +77,7 @@ services:
env_file: .env env_file: .env
volumes: volumes:
- "$ROOT/dav:/data" - "$ROOT/dav:/data"
- /etc/localtime:/etc/localtime:ro
admin: admin:
image: mailu/admin:$VERSION image: mailu/admin:$VERSION
@ -90,6 +96,7 @@ services:
- "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem" - "../proxy/nginx/certs/${DOMAIN}.crt:/certs/cert.pem"
- "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem" - "../proxy/nginx/certs/${DOMAIN}.key:/certs/key.pem"
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/localtime:/etc/localtime:ro
networks: networks:
- proxy-tier - proxy-tier
@ -106,3 +113,4 @@ services:
env_file: .env env_file: .env
volumes: volumes:
- "$ROOT/data:/data" - "$ROOT/data:/data"
- /etc/localtime:/etc/localtime:ro

View file

@ -9,6 +9,7 @@ services:
volumes: volumes:
- /var/lib/matrix/db:/var/lib/postgresql/data - /var/lib/matrix/db:/var/lib/postgresql/data
- /backups/matrix:/backups - /backups/matrix:/backups
- /etc/localtime:/etc/localtime:ro
environment: environment:
- POSTGRES_PASSWORD=synapse - POSTGRES_PASSWORD=synapse
- POSTGRES_USER=synapse - POSTGRES_USER=synapse
@ -29,6 +30,7 @@ services:
- /var/lib/matrix/media_store:/data/media_store - /var/lib/matrix/media_store:/data/media_store
- /var/log/synapse:/data/log - /var/log/synapse:/data/log
- ./synapse:/data - ./synapse:/data
- /etc/localtime:/etc/localtime:ro
networks: networks:
- matrix - matrix
- proxy-tier - proxy-tier

View file

@ -6,6 +6,7 @@ services:
volumes: volumes:
- ./murmur.ini:/etc/murmur.ini - ./murmur.ini:/etc/murmur.ini
- /var/lib/murmur/murmur.sqlite:/data/murmur.sqlite - /var/lib/murmur/murmur.sqlite:/data/murmur.sqlite
- /etc/localtime:/etc/localtime:ro
ports: ports:
- 64738:64738 - 64738:64738
- 64738:64738/udp - 64738:64738/udp

View file

@ -10,6 +10,7 @@ services:
image: nginx image: nginx
volumes: volumes:
- ./config/nginx.conf:/etc/nginx/nginx.conf:ro - ./config/nginx.conf:/etc/nginx/nginx.conf:ro
- /etc/localtime:/etc/localtime:ro
links: links:
- app - app
- collabora - collabora
@ -34,6 +35,7 @@ services:
- ./config:/var/www/html/config - ./config:/var/www/html/config
- /var/lib/nextcloud/data:/var/www/html/data - /var/lib/nextcloud/data:/var/www/html/data
- /media:/media - /media:/media
- /etc/localtime:/etc/localtime:ro
networks: networks:
- proxy-tier - proxy-tier
restart: always restart: always
@ -43,6 +45,7 @@ services:
volumes: volumes:
- /var/lib/nextcloud/db:/var/lib/mysql - /var/lib/nextcloud/db:/var/lib/mysql
- /backups/nextcloud:/backups - /backups/nextcloud:/backups
- /etc/localtime:/etc/localtime:ro
environment: environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_DATABASE=${MYSQL_DATABASE}

View file

@ -14,6 +14,7 @@ services:
- /media:/data - /media:/data
- /var/lib/plex/transcode:/transcode - /var/lib/plex/transcode:/transcode
- /tmp:/tmp - /tmp:/tmp
- /etc/localtime:/etc/localtime:ro
environment: environment:
- VIRTUAL_HOST=${PLEX_DOMAIN} - VIRTUAL_HOST=${PLEX_DOMAIN}
- VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_NETWORK=nginx-proxy

View file

@ -1,9 +1,4 @@
--- ---
- name: Create fullBackup.sh
template:
src: fullBackup.sh
dest: /root/fullBackup.sh
mode: 0700
- name: Create dockerComposeAll.sh - name: Create dockerComposeAll.sh
template: template:
src: dockerComposeAll.sh src: dockerComposeAll.sh

View file

@ -16,6 +16,7 @@ services:
- VIRTUAL_PORT=80 - VIRTUAL_PORT=80
volumes: volumes:
- '/var/lib/wiki/rpg:/bitnami' - '/var/lib/wiki/rpg:/bitnami'
- /etc/localtime:/etc/localtime:ro
networks: networks:
- proxy-tier - proxy-tier
restart: always restart: always