From 8530caca388f6efd96fbbf4513a9b00ae3a2eb38 Mon Sep 17 00:00:00 2001 From: coolnsx Date: Sun, 23 Mar 2025 20:36:07 +0530 Subject: [PATCH] add nextcloud --- nextcloud/env.example | 8 ++++++++ nextcloud/imaginary.container | 25 +++++++++++++++++++++++++ nextcloud/mariadb.container | 26 ++++++++++++++++++++++++++ nextcloud/nextcloud.container | 27 +++++++++++++++++++++++++++ nextcloud/nextcloud.pod | 10 ++++++++++ nextcloud/redis.container | 26 ++++++++++++++++++++++++++ 6 files changed, 122 insertions(+) create mode 100644 nextcloud/env.example create mode 100644 nextcloud/imaginary.container create mode 100644 nextcloud/mariadb.container create mode 100644 nextcloud/nextcloud.container create mode 100644 nextcloud/nextcloud.pod create mode 100644 nextcloud/redis.container diff --git a/nextcloud/env.example b/nextcloud/env.example new file mode 100644 index 0000000..92d0bf5 --- /dev/null +++ b/nextcloud/env.example @@ -0,0 +1,8 @@ +MARIADB_ROOT_PASSWORD=MtHvo7&+Xa8_ruu2PIhb3Jvypod_t7#f +MARIADB_PASSWORD=dLKA&9dsGEASiwskNd&d1hNF&w0EecYm +MARIADB_DATABASE=nextcloud +MARIADB_USER=nextcloud +PUID=1000 +PGID=1000 +TZ=Asia/Kolkata +EXTERNAL_DIR=/media/vault/nextcloud diff --git a/nextcloud/imaginary.container b/nextcloud/imaginary.container new file mode 100644 index 0000000..bea415c --- /dev/null +++ b/nextcloud/imaginary.container @@ -0,0 +1,25 @@ +[Unit] +Description=Nextcloud Imaginary Container + +[Container] +Pod=nextcloud.pod +ContainerName=nextcloud_imaginary +Image=docker.io/nextcloud/aio-imaginary +Exec="/start.sh -enable-url-source -cors -return-size" + +# Enable auto-update container +AutoUpdate=registry +# pass this to attach it to container +EnvironmentFile=./.env +# capabilities +AddCapability=SYS_NICE + +[Service] +# pass this to autofill above variables +EnvironmentFile=%h/.config/containers/systemd/nextcloud/.env +Restart=always +TimeoutStartSec=300 + +[Install] +WantedBy=default.target + diff --git a/nextcloud/mariadb.container b/nextcloud/mariadb.container new file mode 100644 index 0000000..a82f8ea --- /dev/null +++ b/nextcloud/mariadb.container @@ -0,0 +1,26 @@ +[Unit] +Description=Nextcloud DB Container + +[Container] +Pod=nextcloud.pod +ContainerName=nextcloud_db +Image=docker.io/library/mariadb:lts +Exec='--transaction-isolation=READ-COMMITTED' '--log-bin=binlog' '--binlog-format=ROW' '--socket=/tmp/docker/mysqld.sock' + +# Enable auto-update container +AutoUpdate=registry +# pass this to attach it to container +EnvironmentFile=./.env + +Volume=%h/podman/nextcloud/db:/var/lib/mysql +Volume=%h/podman/nextcloud/.socket:/tmp/docker + +[Service] +# pass this to autofill above variables +EnvironmentFile=%h/.config/containers/systemd/nextcloud/.env +Restart=always +TimeoutStartSec=300 + +[Install] +WantedBy=default.target + diff --git a/nextcloud/nextcloud.container b/nextcloud/nextcloud.container new file mode 100644 index 0000000..1a4a112 --- /dev/null +++ b/nextcloud/nextcloud.container @@ -0,0 +1,27 @@ +[Unit] +Description=Nextcloud Container + +[Container] +Pod=nextcloud.pod +ContainerName=nextcloud +Image=lscr.io/linuxserver/nextcloud:latest + +# Enable auto-update container +AutoUpdate=registry +# pass this to attach it to container +EnvironmentFile=./.env + +Volume=%h/podman/nextcloud/config:/config +Volume=%h/podman/nextcloud/.socket:/tmp/docker +Volume=%h/nextcloud:/data +Volume=${EXTERNAL_DIR}:${EXTERNAL_DIR} + +[Service] +# pass this to autofill above variables +EnvironmentFile=%h/.config/containers/systemd/nextcloud/.env +Restart=always +TimeoutStartSec=300 + +[Install] +WantedBy=default.target + diff --git a/nextcloud/nextcloud.pod b/nextcloud/nextcloud.pod new file mode 100644 index 0000000..2b8760c --- /dev/null +++ b/nextcloud/nextcloud.pod @@ -0,0 +1,10 @@ +[Unit] +Description=Nextcloud Pod + +[Pod] +PodName=nextcloud +PublishPort=8080:80 + +# to satisfy nextcloud bitch permissions problems +UIDMap=1000:0:1 +UIDMap=0:1:1000 diff --git a/nextcloud/redis.container b/nextcloud/redis.container new file mode 100644 index 0000000..07cbbff --- /dev/null +++ b/nextcloud/redis.container @@ -0,0 +1,26 @@ +[Unit] +Description=Nextcloud Redis Container + +[Container] +Pod=nextcloud.pod +ContainerName=nextcloud_redis +Image=docker.io/library/redis:alpine +Exec=redis-server --unixsocket /tmp/docker/redis.sock --unixsocketperm 777 + +# Enable auto-update container +AutoUpdate=registry +# pass this to attach it to container +EnvironmentFile=./.env + +Volume=%h/podman/nextcloud/redis:/data +Volume=%h/podman/nextcloud/.socket:/tmp/docker + +[Service] +# pass this to autofill above variables +EnvironmentFile=%h/.config/containers/systemd/nextcloud/.env +Restart=always +TimeoutStartSec=300 + +[Install] +WantedBy=default.target +