Replace quadlets with current configuration

This commit is contained in:
topterrorist 2026-09-19 16:49:49 +02:00
parent 4a359f7d5a
commit 792b32ea02
45 changed files with 273 additions and 18 deletions

View file

@ -0,0 +1,50 @@
[Unit]
Description=nextcloud server
Requires=nextcloud-postgres.service nextcloud-redis.service
After=nextcloud-postgres.service nextcloud-redis.service
PartOf=nextcloud.target
[Container]
AddCapability=NET_BIND_SERVICE
ContainerName=nextcloud-app
Environment=POSTGRES_DB={YOUR DATABASE}
Environment=POSTGRES_USER={YOUR DB USER}
Environment=POSTGRES_PASSWORD={YOUR DB PASSWORD}
Environment=APACHE_LISTEN=0.0.0.0:80
Environment=APACHE_SERVER_NAME={YOURDOMAIN.COM
Environment=NEXTCLOUD_DATA_DIR=/var/www/html/data
Environment=REDIS_HOST=nextcloud-redis
Environment=TRUSTED_PROXIES=0.0.0.0/0
Environment=NEXTCLOUD_TRUSTED_DOMAINS={YOURDOMAIN.COM}
Environment=NEXTCLOUD_INIT_HTACCESS=true
Environment=OVERWRITEPROTOCOL=https
Environment=OVERWRITECLIURL={https://YOURDOMAIN.COM}
Environment=PHP_MEMORY_LIMIT=20G
Environment=PHP_UPLOAD_LIMIT=100G
Environment=PHP_POST_MAX_SIZE=100G
Environment=APACHE_BODY_LIMIT=2147483647
Environment=PHP_OPCACHE_MEMORY_CONSUMPTION=512
Environment=POSTGRES_HOST=nextcloud-postgres
#AddHost=(something something pasta is dogshit put domain here from host NIC):host-gateway
Image=docker.io/library/nextcloud:apache
AutoUpdate=registry
Network=nextcloud.network
PublishPort=127.0.0.1:11000:80
Volume=%h/services/nextcloud/tmp:/tmp
Volume=%h/services/nextcloud/html:/var/www/html
Volume=%h/services/nextcloud/data:/mnt/data
Volume=%h/services/nextcloud/storage1:/mnt/storage1
Volume=%h/services/nextcloud/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
Volume=/etc/timezone:/etc/timezone:ro
Volume=/etc/localtime:/etc/localtime:ro
[Service]
Restart=always
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,22 @@
[Unit]
Description=nextcloud collabora
PartOf=nextcloud.target
[Container]
AddCapability=MKNOD
ContainerName=nextcloud-collabora
Environment=DONT_GEN_SSL_CERT=true
Environment="extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:net.post_allow.host[0]=YOURDOMAIN.COM --o:storage.wopi.host[0]=YOURDOMAIN.COM"
Environment=domain=collabora\.YOURDOMAIN\.COM
Image=docker.io/collabora/code:latest
AutoUpdate=registry
Network=nextcloud.network
PublishPort=127.0.0.1:9980:9980
[Service]
Restart=always
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=nextcloud cron service
Requires=nextcloud-app.service
After=nextcloud.target nextcloud-app.service
PartOf=nextcloud.target
[Service]
Type=oneshot
ExecStart=/usr/bin/podman exec -u www-data nextcloud-app php -f /var/www/html/cron.php
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,20 @@
[Unit]
Description=nextlcoud postgres
PartOf=nextcloud.target
[Container]
ContainerName=nextcloud-postgres
Environment=POSTGRES_DB={YOUR POSTGRES DB}
Environment=POSTGRES_USER={YOUR POSTGRES USER}
Environment=POSTGRES_PASSWORD={YOUR POSTGRES PASSWORD}
Image=docker.io/library/postgres:17
AutoUpdate=registry
Network=nextcloud.network
Volume=%h/services/nextcloud/postgresql/data:/var/lib/postgresql/data
[Service]
Restart=always
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,18 @@
[Unit]
Description=nextcloud redis
PartOf=nextcloud.target
[Container]
ContainerName=nextcloud-redis
Image=docker.io/library/redis:7
AutoUpdate=registry
Network=nextcloud.network
Volume=%h/services/nextcloud/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
[Service]
Restart=always
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,17 @@
[Unit]
Description=nextcloud valkey
PartOf=nextcloud.target
[Container]
ContainerName=nextcloud-valkey
Image=docker.io/valkey/valkey:8-alpine
AutoUpdate=registry
Network=nextcloud.network
Volume=%h/services/nextcloud/valkey:/data
[Service]
Restart=always
[Install]
WantedBy=nextcloud.target

View file

@ -0,0 +1,6 @@
[Unit]
Description=Nextcloud podman network
[Network]
Driver=bridge
NetworkName=nextcloud

View file

@ -0,0 +1,20 @@
[Unit]
Description=Nextcloud container stack
Wants=nextcloud-app.service
Wants=nextcloud-collabora.service
Wants=nextcloud-postgres.service
Wants=nextcloud-redis.service
Wants=nextcloud-valkey.service
Wants=nextcloud-network.service
Wants=nextcloud-cron.timer
After=nextcloud-network.service
After=nextcloud-postgres.service
After=nextcloud-redis.service
After=nextcloud-valkey.service
After=nextcloud-collabora.service
After=nextcloud-app.service
[Install]
WantedBy=default.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=nextcloud cron timer
PartOf=nextcloud.target
After=nextcloud.target
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloud-cron.service
[Install]
WantedBy=nextcloud.target