Adds immich, puts redis/database on NVME, uses postgres for wallabag and nextcloud, adds backup services

This commit is contained in:
2025-11-15 08:56:05 +01:00
parent 7b21388adc
commit e552750f66
36 changed files with 158 additions and 81 deletions

View File

@@ -17,6 +17,7 @@ Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=gitea-database.volume:/var/lib/postgresql
Volume=/var/mnt/nas/containers/gitea/storage/database-backup:/backup
[Service]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/gitea/storage/database
Driver=local
Options=bind
Type=none
VolumeName=gitea-database

View File

@@ -5,11 +5,11 @@ Description=Immich database container
AutoUpdate=registry
ContainerName=immich-database
Environment=DB_STORAGE_TYPE=HDD
Environment=POSTGRES_USER=postgres
Environment=POSTGRES_USER=immich
Environment=POSTGRES_DB=immich
Environment=POSTGRES_INTIDB_ARGS=--data-checksums
Environment=TZ=Europe/Zurich
HealthCmd=pg_isready -U postgres
HealthCmd=pg_isready -U immich
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
@@ -20,6 +20,7 @@ ShmSize=128m
StartWithPod=true
Timezone=Europe/Zurich
Volume=immich-database.volume:/var/lib/postgresql/data
Volume=/var/mnt/nas/containers/immich/storage/database-backup:/backup
[Service]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/immich/storage/database
Driver=local
Options=bind
Type=none
VolumeName=immich-database

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/immich/storage/ml-cache
Driver=local
Options=bind
Type=none
VolumeName=immich-ml-cache

View File

@@ -9,7 +9,7 @@ Requires=immich-redis.container
AutoUpdate=registry
ContainerName=immich
Environment=DB_DATA_LOCATION=./postgres
Environment=DB_USERNAME=postgres
Environment=DB_USERNAME=immich
Environment=DB_DATABASE_NAME=immich
Environment=IMMICH_VERSION=v2
Environment=TZ=Europe/Zurich

View File

@@ -4,16 +4,20 @@ Description=Nextcloud database container
[Container]
AutoUpdate=registry
ContainerName=nextcloud-database
Environment=MYSQL_DATABASE=nextcloud
Environment=POSTGRES_DB=nextcloud
Environment=POSTGRES_USER=nextcloud
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
Secret=database-user,type=env,target=MYSQL_USER
Secret=database-password,type=env,target=MYSQL_PASSWORD
Secret=database-root-password,type=env,target=MYSQL_ROOT_PASSWORD
Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
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]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/nextcloud/storage/database
Driver=local
Options=bind
Type=none
VolumeName=nextcloud-database

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/nextcloud/storage/redis-data
Driver=local
Options=bind
Type=none
VolumeName=nextcloud-redis-data

View File

@@ -7,12 +7,17 @@ ContainerName=paperless-database
Environment=POSTGRES_USER=paperless
Environment=POSTGRES_DB=paperless
Environment=TZ=Europe/Zurich
HealthCmd=pg_isready -U paperless
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
Image=docker.io/library/postgres:18
Pod=paperless.pod
Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=paperless-database.volume:/var/lib/postgresql
Volume=/var/mnt/nas/containers/paperless/storage/database-backup:/backup
[Service]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/paperless/storage/database
Driver=local
Options=bind
Type=none
VolumeName=paperless-database

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/paperless/storage/redis-data
Driver=local
Options=bind
Type=none
VolumeName=paperless-redis-data

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/pihole/storage/unbound-redis-cache
Driver=local
Options=bind
Type=none
VolumeName=unbound-redis-cache

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/pihole/storage/unbound-redis-data
Driver=local
Options=bind
Type=none
VolumeName=unbound-redis-data

View File

@@ -18,6 +18,7 @@ Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=synapse-database.volume:/var/lib/postgresql
Volume=/var/mnt/nas/containers/synapse/storage/database-backup:/backup
[Service]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/synapse/storage/database
Driver=local
Options=bind
Type=none
VolumeName=synapse-database

View File

@@ -4,17 +4,20 @@ Description=Wallabag database container
[Container]
AutoUpdate=registry
ContainerName=wallabag-database
Environment=POSTGRES_DB=wallabag
Environment=POSTGRES_USER=wallabag
Environment=TZ=Europe/Zurich
HealthCmd=CMD mysqladmin ping -h localhost
HealthCmd=pg_isready -U wallabag
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
Image=docker.io/mariadb:latest
Image=docker.io/postgres:18
Pod=wallabag.pod
Secret=database-root-password,type=env,target=MYSQL_ROOT_PASSWORD
Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
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]
Restart=always

View File

@@ -1,7 +1,2 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/wallabag/storage/database
Driver=local
Options=bind
Type=none
VolumeName=wallabag-database

View File

@@ -8,12 +8,13 @@ Requires=wallabag-redis.container
[Container]
AutoUpdate=registry
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_PORT=3306
Environment=SYMFONY__ENV__DATABASE_PORT=5432
Environment=SYMFONY__ENV__DATABASE_NAME=wallabag
Environment=SYMFONY__ENV__DATABASE_USER=wallabag
Environment=SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
Environment=SYMFONY__ENV__DATABASE_TABLE_PREFIX=wallabag_
Environment=SYMFONY__ENV__MAILER_DSN=smtp:127.0.0.1
Environment=SYMFONY__ENV__FROM_EMAIL=wallabag@gtache.ch
@@ -26,7 +27,7 @@ HealthTimeout=5s
HealthRetries=5
Image=docker.io/wallabag/wallabag:latest
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
StartWithPod=true
Timezone=Europe/Zurich