mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
Add backup config and fix timezone in containers
This commit is contained in:
parent
9f7679c7aa
commit
fe296230a8
15 changed files with 73 additions and 13 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -11,3 +11,5 @@
|
||||||
- ufw
|
- ufw
|
||||||
- vim
|
- vim
|
||||||
- wget
|
- wget
|
||||||
|
- borg
|
||||||
|
|
||||||
|
|
|
||||||
7
roles/daily-backup/files/daily-backup.service
Normal file
7
roles/daily-backup/files/daily-backup.service
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Full server backup
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/root/fullBackup.sh
|
||||||
|
|
||||||
10
roles/daily-backup/files/daily-backup.timer
Normal file
10
roles/daily-backup/files/daily-backup.timer
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Timer for daily backup
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 04:00:00
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
|
||||||
23
roles/daily-backup/tasks/main.yml
Normal file
23
roles/daily-backup/tasks/main.yml
Normal 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
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue