Adds immich, puts redis/database on NVME, uses postgres for wallabag and nextcloud, adds backup services
This commit is contained in:
13
files/backup-postgres.sh
Normal file
13
files/backup-postgres.sh
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace
|
||||||
|
|
||||||
|
user="$(whoami)"
|
||||||
|
today=$(date +%F)
|
||||||
|
dir="/backup/${today}"
|
||||||
|
host_dir="/var/mnt/nas/containers/${user}/storage/database-backup"
|
||||||
|
mkdir -p "${host_dir}"
|
||||||
|
if podman container exists "${user}-database"; then
|
||||||
|
podman exec "${user}-database" pg_dump -U "${user}" -d "${user}" -F d -Z zstd:3 -f "${dir}"
|
||||||
|
else
|
||||||
|
echo "${user}-database" not found
|
||||||
|
fi
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
database-password=7w6,{R_C=LdZ@9iy
|
database-password=7w6,{R_C=LdZ@9iy
|
||||||
database-root-password=[-B#xMVj~\3X*vC>
|
|
||||||
database-user=nextcloud
|
|
||||||
nextcloud-admin-password=tcf@fg]%2BL]K*p`
|
nextcloud-admin-password=tcf@fg]%2BL]K*p`
|
||||||
nextcloud-admin-user=admin
|
nextcloud-admin-user=admin
|
||||||
nextcloud-redis-password=AznBSv9lCflXg2z0
|
nextcloud-redis-password=AznBSv9lCflXg2z0
|
||||||
|
|||||||
@@ -1,2 +1 @@
|
|||||||
database-password=YdBYea47YBCpjhL7ped9
|
database-password=YdBYea47YBCpjhL7ped9
|
||||||
database-root-password=zUMuEkTzOG8CH8VjvLXE
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace
|
|||||||
setsebool -P container_use_devices on
|
setsebool -P container_use_devices on
|
||||||
setsebool -P openvpn_run_unconfined on
|
setsebool -P openvpn_run_unconfined on
|
||||||
semanage fcontext -a -t container_file_t "/mnt/nas(/.*)?"
|
semanage fcontext -a -t container_file_t "/mnt/nas(/.*)?"
|
||||||
#semanage fcontext -a -t container_file_t "/mnt/nas/containers/.*/storage/.*(/.*)?"
|
|
||||||
restorecon -vR /mnt/nas
|
restorecon -vR /mnt/nas
|
||||||
|
|
||||||
users=("gitea" "homeassistant" "immich" "jdownloader" "kiwix" "komga" "navidrome" "nextcloud" "nginx" "pairdrop" "paperless" "pihole" "qbittorrent" "synapse" "wallabag")
|
users=("gitea" "homeassistant" "immich" "jdownloader" "kiwix" "komga" "navidrome" "nextcloud" "nginx" "pairdrop" "paperless" "pihole" "qbittorrent" "synapse" "wallabag")
|
||||||
@@ -15,7 +14,7 @@ for user in "${users[@]}"; do
|
|||||||
sudo -u "${user}" /opt/bin/add-secrets.sh "${secrets_file}"
|
sudo -u "${user}" /opt/bin/add-secrets.sh "${secrets_file}"
|
||||||
fi
|
fi
|
||||||
systemctl --user -M "${user}@" daemon-reload
|
systemctl --user -M "${user}@" daemon-reload
|
||||||
systemctl --user -M "${user}@" enable --now "podman-auto-update.timer" || true
|
systemctl --user -M "${user}@" enable "podman-auto-update.timer" || true
|
||||||
systemctl --user -M "${user}@" stop "${user}.service" || true
|
systemctl --user -M "${user}@" stop "${user}.service" || true
|
||||||
systemctl --user -M "${user}@" start "${user}.service"
|
systemctl --user -M "${user}@" start "${user}.service"
|
||||||
echo "${user} done"
|
echo "${user} done"
|
||||||
@@ -23,12 +22,19 @@ done
|
|||||||
systemctl --user -M "arr@" daemon-reload
|
systemctl --user -M "arr@" daemon-reload
|
||||||
systemctl --user -M "arr@" start "overseerr.service"
|
systemctl --user -M "arr@" start "overseerr.service"
|
||||||
systemctl --user -M "tga@" daemon-reload
|
systemctl --user -M "tga@" daemon-reload
|
||||||
systemctl --user -M "tga@" enable --now "update-dyndns.timer"
|
systemctl --user -M "tga@" enable "update-dyndns.timer"
|
||||||
|
|
||||||
systemctl --user -M "kiwix@" enable --now "clone-zim-updater.service"
|
systemctl --user -M "kiwix@" enable --now "clone-zim-updater.service"
|
||||||
systemctl --user -M "nextcloud@" enable --now "pre-generate-preview.timer"
|
systemctl --user -M "nextcloud@" enable "pre-generate-preview.timer"
|
||||||
systemctl --user -M "pihole@" enable --now "update-hints.timer"
|
systemctl --user -M "pihole@" enable "update-hints.timer"
|
||||||
systemctl --user -M "pihole@" enable --now "update-root.timer"
|
systemctl --user -M "pihole@" enable "update-root.timer"
|
||||||
|
|
||||||
|
systemctl --user -M "gitea@" enable "backup-database.timer"
|
||||||
|
systemctl --user -M "immich@" enable "backup-database.timer"
|
||||||
|
systemctl --user -M "nextcloud@" enable "backup-database.timer"
|
||||||
|
systemctl --user -M "paperless@" enable "backup-database.timer"
|
||||||
|
systemctl --user -M "synapse@" enable "backup-database.timer"
|
||||||
|
systemctl --user -M "wallabag@" enable "backup-database.timer"
|
||||||
|
|
||||||
/opt/bin/add-secrets.sh /root/.secrets
|
/opt/bin/add-secrets.sh /root/.secrets
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|||||||
4
pi4.bu
4
pi4.bu
@@ -73,6 +73,10 @@ storage:
|
|||||||
contents:
|
contents:
|
||||||
local: files/add-secrets.sh
|
local: files/add-secrets.sh
|
||||||
mode: 0755
|
mode: 0755
|
||||||
|
- path: /opt/bin/backup-postgres.sh
|
||||||
|
contents:
|
||||||
|
local: files/backup-postgres.sh
|
||||||
|
mode: 0755
|
||||||
- path: /etc/containers/systemd/samba.container
|
- path: /etc/containers/systemd/samba.container
|
||||||
contents:
|
contents:
|
||||||
local: quadlets/samba/samba.container
|
local: quadlets/samba/samba.container
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
|||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=gitea-database.volume:/var/lib/postgresql
|
Volume=gitea-database.volume:/var/lib/postgresql
|
||||||
|
Volume=/var/mnt/nas/containers/gitea/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/gitea/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=gitea-database
|
VolumeName=gitea-database
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ Description=Immich database container
|
|||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
ContainerName=immich-database
|
ContainerName=immich-database
|
||||||
Environment=DB_STORAGE_TYPE=HDD
|
Environment=DB_STORAGE_TYPE=HDD
|
||||||
Environment=POSTGRES_USER=postgres
|
Environment=POSTGRES_USER=immich
|
||||||
Environment=POSTGRES_DB=immich
|
Environment=POSTGRES_DB=immich
|
||||||
Environment=POSTGRES_INTIDB_ARGS=--data-checksums
|
Environment=POSTGRES_INTIDB_ARGS=--data-checksums
|
||||||
Environment=TZ=Europe/Zurich
|
Environment=TZ=Europe/Zurich
|
||||||
HealthCmd=pg_isready -U postgres
|
HealthCmd=pg_isready -U immich
|
||||||
HealthInterval=30s
|
HealthInterval=30s
|
||||||
HealthTimeout=10s
|
HealthTimeout=10s
|
||||||
HealthRetries=5
|
HealthRetries=5
|
||||||
@@ -20,6 +20,7 @@ ShmSize=128m
|
|||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=immich-database.volume:/var/lib/postgresql/data
|
Volume=immich-database.volume:/var/lib/postgresql/data
|
||||||
|
Volume=/var/mnt/nas/containers/immich/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/immich/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=immich-database
|
VolumeName=immich-database
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/immich/storage/ml-cache
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=immich-ml-cache
|
VolumeName=immich-ml-cache
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Requires=immich-redis.container
|
|||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
ContainerName=immich
|
ContainerName=immich
|
||||||
Environment=DB_DATA_LOCATION=./postgres
|
Environment=DB_DATA_LOCATION=./postgres
|
||||||
Environment=DB_USERNAME=postgres
|
Environment=DB_USERNAME=immich
|
||||||
Environment=DB_DATABASE_NAME=immich
|
Environment=DB_DATABASE_NAME=immich
|
||||||
Environment=IMMICH_VERSION=v2
|
Environment=IMMICH_VERSION=v2
|
||||||
Environment=TZ=Europe/Zurich
|
Environment=TZ=Europe/Zurich
|
||||||
|
|||||||
@@ -4,16 +4,20 @@ Description=Nextcloud database container
|
|||||||
[Container]
|
[Container]
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
ContainerName=nextcloud-database
|
ContainerName=nextcloud-database
|
||||||
Environment=MYSQL_DATABASE=nextcloud
|
Environment=POSTGRES_DB=nextcloud
|
||||||
|
Environment=POSTGRES_USER=nextcloud
|
||||||
Environment=TZ=Europe/Zurich
|
Environment=TZ=Europe/Zurich
|
||||||
Image=docker.io/mariadb:latest
|
HealthCmd=pg_isready -U nextcloud
|
||||||
|
HealthInterval=30s
|
||||||
|
HealthTimeout=10s
|
||||||
|
HealthRetries=5
|
||||||
|
Image=docker.io/postgres:18
|
||||||
Pod=nextcloud.pod
|
Pod=nextcloud.pod
|
||||||
Secret=database-user,type=env,target=MYSQL_USER
|
Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
||||||
Secret=database-password,type=env,target=MYSQL_PASSWORD
|
|
||||||
Secret=database-root-password,type=env,target=MYSQL_ROOT_PASSWORD
|
|
||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=nextcloud-database.volume:/var/lib/mysql
|
Volume=nextcloud-database.volume:/var/lib/postgresql
|
||||||
|
Volume=/var/mnt/nas/containers/nextcloud/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/nextcloud/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=nextcloud-database
|
VolumeName=nextcloud-database
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/nextcloud/storage/redis-data
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=nextcloud-redis-data
|
VolumeName=nextcloud-redis-data
|
||||||
|
|||||||
@@ -7,12 +7,17 @@ ContainerName=paperless-database
|
|||||||
Environment=POSTGRES_USER=paperless
|
Environment=POSTGRES_USER=paperless
|
||||||
Environment=POSTGRES_DB=paperless
|
Environment=POSTGRES_DB=paperless
|
||||||
Environment=TZ=Europe/Zurich
|
Environment=TZ=Europe/Zurich
|
||||||
|
HealthCmd=pg_isready -U paperless
|
||||||
|
HealthInterval=30s
|
||||||
|
HealthTimeout=10s
|
||||||
|
HealthRetries=5
|
||||||
Image=docker.io/library/postgres:18
|
Image=docker.io/library/postgres:18
|
||||||
Pod=paperless.pod
|
Pod=paperless.pod
|
||||||
Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=paperless-database.volume:/var/lib/postgresql
|
Volume=paperless-database.volume:/var/lib/postgresql
|
||||||
|
Volume=/var/mnt/nas/containers/paperless/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/paperless/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=paperless-database
|
VolumeName=paperless-database
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/paperless/storage/redis-data
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=paperless-redis-data
|
VolumeName=paperless-redis-data
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/pihole/storage/unbound-redis-cache
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=unbound-redis-cache
|
VolumeName=unbound-redis-cache
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/pihole/storage/unbound-redis-data
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=unbound-redis-data
|
VolumeName=unbound-redis-data
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
|||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=synapse-database.volume:/var/lib/postgresql
|
Volume=synapse-database.volume:/var/lib/postgresql
|
||||||
|
Volume=/var/mnt/nas/containers/synapse/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/synapse/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=synapse-database
|
VolumeName=synapse-database
|
||||||
|
|||||||
@@ -4,17 +4,20 @@ Description=Wallabag database container
|
|||||||
[Container]
|
[Container]
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
ContainerName=wallabag-database
|
ContainerName=wallabag-database
|
||||||
|
Environment=POSTGRES_DB=wallabag
|
||||||
|
Environment=POSTGRES_USER=wallabag
|
||||||
Environment=TZ=Europe/Zurich
|
Environment=TZ=Europe/Zurich
|
||||||
HealthCmd=CMD mysqladmin ping -h localhost
|
HealthCmd=pg_isready -U wallabag
|
||||||
HealthInterval=30s
|
HealthInterval=30s
|
||||||
HealthTimeout=10s
|
HealthTimeout=10s
|
||||||
HealthRetries=5
|
HealthRetries=5
|
||||||
Image=docker.io/mariadb:latest
|
Image=docker.io/postgres:18
|
||||||
Pod=wallabag.pod
|
Pod=wallabag.pod
|
||||||
Secret=database-root-password,type=env,target=MYSQL_ROOT_PASSWORD
|
Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
Volume=wallabag-database.volume:/var/lib/mysql
|
Volume=wallabag-database.volume:/var/lib/postgresql
|
||||||
|
Volume=/var/mnt/nas/containers/wallabag/storage/database-backup:/backup
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
[Volume]
|
[Volume]
|
||||||
Copy=true
|
|
||||||
Device=/var/mnt/nas/containers/wallabag/storage/database
|
|
||||||
Driver=local
|
|
||||||
Options=bind
|
|
||||||
Type=none
|
|
||||||
VolumeName=wallabag-database
|
VolumeName=wallabag-database
|
||||||
|
|||||||
@@ -8,12 +8,13 @@ Requires=wallabag-redis.container
|
|||||||
[Container]
|
[Container]
|
||||||
AutoUpdate=registry
|
AutoUpdate=registry
|
||||||
ContainerName=wallabag
|
ContainerName=wallabag
|
||||||
Environment=SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
|
Environment=POSTGRES_DB=wallabag
|
||||||
|
Environment=POSTGRES_USER=wallabag
|
||||||
|
Environment=SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
|
||||||
Environment=SYMFONY__ENV__DATABASE_HOST=wallabag-database
|
Environment=SYMFONY__ENV__DATABASE_HOST=wallabag-database
|
||||||
Environment=SYMFONY__ENV__DATABASE_PORT=3306
|
Environment=SYMFONY__ENV__DATABASE_PORT=5432
|
||||||
Environment=SYMFONY__ENV__DATABASE_NAME=wallabag
|
Environment=SYMFONY__ENV__DATABASE_NAME=wallabag
|
||||||
Environment=SYMFONY__ENV__DATABASE_USER=wallabag
|
Environment=SYMFONY__ENV__DATABASE_USER=wallabag
|
||||||
Environment=SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
|
|
||||||
Environment=SYMFONY__ENV__DATABASE_TABLE_PREFIX=wallabag_
|
Environment=SYMFONY__ENV__DATABASE_TABLE_PREFIX=wallabag_
|
||||||
Environment=SYMFONY__ENV__MAILER_DSN=smtp:127.0.0.1
|
Environment=SYMFONY__ENV__MAILER_DSN=smtp:127.0.0.1
|
||||||
Environment=SYMFONY__ENV__FROM_EMAIL=wallabag@gtache.ch
|
Environment=SYMFONY__ENV__FROM_EMAIL=wallabag@gtache.ch
|
||||||
@@ -26,7 +27,7 @@ HealthTimeout=5s
|
|||||||
HealthRetries=5
|
HealthRetries=5
|
||||||
Image=docker.io/wallabag/wallabag:latest
|
Image=docker.io/wallabag/wallabag:latest
|
||||||
Pod=wallabag.pod
|
Pod=wallabag.pod
|
||||||
Secret=database-root-password,type=env,target=MYSQL_ROOT_PASSWORD
|
Secret=database-password,type=env,target=POSTGRES_PASSWORD
|
||||||
Secret=database-password,type=env,target=SYMFONY__ENV__DATABASE_PASSWORD
|
Secret=database-password,type=env,target=SYMFONY__ENV__DATABASE_PASSWORD
|
||||||
StartWithPod=true
|
StartWithPod=true
|
||||||
Timezone=Europe/Zurich
|
Timezone=Europe/Zurich
|
||||||
|
|||||||
6
services/gitea/backup-database.service
Normal file
6
services/gitea/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the Gitea database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-postgres.sh
|
||||||
10
services/gitea/backup-database.timer
Normal file
10
services/gitea/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
6
services/immich/backup-database.service
Normal file
6
services/immich/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the Immich database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-database.sh
|
||||||
10
services/immich/backup-database.timer
Normal file
10
services/immich/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
6
services/nextcloud/backup-database.service
Normal file
6
services/nextcloud/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the Nextcloud database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-postgres.sh
|
||||||
10
services/nextcloud/backup-database.timer
Normal file
10
services/nextcloud/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
6
services/paperless/backup-database.service
Normal file
6
services/paperless/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the paperless database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-postgres.sh
|
||||||
10
services/paperless/backup-database.timer
Normal file
10
services/paperless/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
6
services/synapse/backup-database.service
Normal file
6
services/synapse/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the Synapse database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-postgres.sh
|
||||||
10
services/synapse/backup-database.timer
Normal file
10
services/synapse/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
6
services/wallabag/backup-database.service
Normal file
6
services/wallabag/backup-database.service
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Backups the Wallabag database
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/opt/bin/backup-postgres.sh
|
||||||
10
services/wallabag/backup-database.timer
Normal file
10
services/wallabag/backup-database.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Timer for the backup-database service
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=12:00:00
|
||||||
|
Persistent=true
|
||||||
|
Unit=backup-database.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
Reference in New Issue
Block a user