Initial commit

This commit is contained in:
2025-11-06 20:28:41 +01:00
commit 5fc4fbcef3
182 changed files with 4742 additions and 0 deletions

View File

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

View File

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

View File

@@ -0,0 +1,30 @@
[Unit]
Description=Nextcloud cron container
After=nextcloud-database.container
After=nextcloud-redis.container
After=nextcloud.container
Requires=nextcloud-database.container
Requires=nextcloud-redis.container
Requires=nextcloud.container
[Container]
AutoUpdate=registry
ContainerName=nextcloud-cron
Entrypoint=/cron.sh
Environment=TZ=Europe/Zurich
Image=docker.io/nextcloud:32
Pod=nextcloud.pod
StartWithPod=true
Timezone=Europe/Zurich
Volume=nextcloud-html.volume:/var/www/html
Volume=nextcloud-config.volume:/var/www/html/config
Volume=nextcloud-apps.volume:/var/www/html/custom_apps
Volume=nextcloud-themes.volume:/var/www/html/themes
Volume=/var/mnt/nas/containers/nextcloud/storage/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
Volume=nextcloud-data.volume:/var/www/html/data
[Service]
Restart=always
[Install]
WantedBy=default.target

View File

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

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Nextcloud database container
[Container]
AutoUpdate=registry
ContainerName=nextcloud-database
Environment=MYSQL_DATABASE=nextcloud
Environment=TZ=Europe/Zurich
Image=docker.io/mariadb:latest
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
StartWithPod=true
Timezone=Europe/Zurich
Volume=nextcloud-database.volume:/var/lib/mysql
[Service]
Restart=always
[Install]
WantedBy=default.target

View File

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

View File

@@ -0,0 +1,29 @@
[Unit]
Description=Nextcloud HaRP container
After=nextcloud-database.container
After=nextcloud-redis.container
Requires=nextcloud-database.container
Requires=nextcloud-redis.container
[Container]
AutoUpdate=registry
ContainerName=nextcloud
Environment=NC_INSTANCE_URL=http://nextcloud.local
Environment=TZ=Europe/Zurich
Image=ghcr.io/nextcloud/nextcloud-appapi-harp:release
Pod=nextcloud.pod
Secret=hp-key,type=env,target=HP_SHARED_KEY
StartWithPod=true
Timezone=Europe/Zurich
Volume=nextcloud-html.volume:/var/www/html
Volume=nextcloud-config.volume:/var/www/html/config
Volume=nextcloud-apps.volume:/var/www/html/custom_apps
Volume=nextcloud-themes.volume:/var/www/html/themes
Volume=/var/mnt/nas/containers/nextcloud/storage/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
Volume=nextcloud-data.volume:/var/www/html/data
[Service]
Restart=always
[Install]
WantedBy=default.target

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,21 @@
[Unit]
Description=Nextcloud Redis container
[Container]
AutoUpdate=registry
ContainerName=nextcloud-redis
Environment=TZ=Europe/Zurich
Exec=/bin/sh -c 'redis-server --appendonly yes --requirepass $${REDIS_PASSWORD}'
Image=docker.io/redis:alpine
Pod=nextcloud.pod
Secret=nextcloud-redis-password,type=env,target=REDIS_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=nextcloud-redis-config.volume:/usr/local/etc/redis
Volume=nextcloud-redis-data.volume:/data
[Service]
Restart=always
[Install]
WantedBy=default.target

View File

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

View File

@@ -0,0 +1,40 @@
[Unit]
Description=Nextcloud container
After=nextcloud-database.container
After=nextcloud-redis.container
Requires=nextcloud-database.container
Requires=nextcloud-redis.container
[Container]
AutoUpdate=registry
ContainerName=nextcloud
Environment=MYSQL_DATABASE=nextcloud
Environment=MYSQL_HOST=nextcloud-database
Environment=NEXTCLOUD_TRUSTED_DOMAINS=localhost host.containers.internal nextcloud.gtache.ch
Environment=PHP_MEMORY_LIMIT=1024M
Environment=PHP_UPLOAD_LIMIT=100G
Environment=REDIS_HOST=nextcloud-redis
Environment=TRUSTED_PROXIES=192.168.0.0/16 172.16.0.0/12 169.254.0.0/16 10.0.0.0/8
Environment=TZ=Europe/Zurich
Image=docker.io/nextcloud:32
Pod=nextcloud.pod
Secret=database-user,type=env,target=MYSQL_USER
Secret=database-password,type=env,target=MYSQL_PASSWORD
Secret=nextcloud-admin-user,type=env,target=NEXTCLOUD_ADMIN_USER
Secret=nextcloud-admin-password,type=env,target=NEXTCLOUD_ADMIN_PASSWORD
Secret=nextcloud-redis-password,type=env,target=REDIS_HOST_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=nextcloud-html.volume:/var/www/html
Volume=nextcloud-config.volume:/var/www/html/config
Volume=nextcloud-apps.volume:/var/www/html/custom_apps
Volume=nextcloud-themes.volume:/var/www/html/themes
Volume=/var/mnt/nas/containers/nextcloud/storage/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
Volume=/var/mnt/nas/containers/nextcloud/storage/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf
Volume=nextcloud-data.volume:/var/www/html/data
[Service]
Restart=always
[Install]
WantedBy=default.target

View File

@@ -0,0 +1,3 @@
[Pod]
PodName=nextcloud
PublishPort=9004:80