Compare commits

..

2 Commits

Author SHA1 Message Date
coolnsx
8f17cf1d49 For great justice. 2025-09-28 18:21:04 +05:30
coolnsx
19fae3f6d3 Chore: moved the nextcloud setup to control via environment variables 2025-09-28 17:24:55 +05:30
7 changed files with 75 additions and 30 deletions

View File

@@ -5,12 +5,13 @@ Description=Immich Valkey Container
Pod=immich.pod
ContainerName=immich_valkey
Image=ghcr.io/valkey-io/valkey:alpine
Exec=--port 0 --unixsocket /tmp/immich/valkey.sock --unixsocketperm 777
Exec=--port 0 --unixsocket ${REDIS_SOCKET} --unixsocketperm 777
# Enable auto-update container
AutoUpdate=registry
[Service]
EnvironmentFile=%h/.config/containers/systemd/immich/.env
Restart=always
TimeoutStartSec=300

View File

@@ -1,8 +1,37 @@
# db
MARIADB_ROOT_PASSWORD=
MARIADB_PASSWORD=
MARIADB_DATABASE=nextcloud
MARIADB_USER=nextcloud
TZ=Asia/Kolkata
EXTERNAL_DIR=/media/vault/nextcloud
MARIADB_HOST=/tmp/docker/mysqld.sock
# redis
REDIS_HOST=/tmp/docker/valkey.sock
REDIS_HOST_PORT=0
# Misc
TZ=Etc/UTC
# Directories
EXTERNAL_DIR=
# notify push
SOCKET_PATH=/tmp/docker/notify_push.sock
NEXTCLOUD_URL=https://cloud.example.com
# reverse proxy
OVERWRITEPROTOCOL=https
OVERWRITECLIURL=https://cloud.example.com
TRUSTED_PROXIES=127.0.0.1 ::1
# SMTP
SMTP_HOST=smtp.example.com
SMTP_SECURE=ssl
SMTP_NAME=
SMTP_PASSWORD=
MAIL_FROM_ADDRESS=
MAIL_DOMAIN=
# PHP Optimizations
PHP_MEMORY_LIMIT=2G
PHP_UPLOAD_LIMIT=100G
PHP_OPCACHE_MEMORY_CONSUMPTION=256

View File

@@ -1,9 +1,10 @@
#!/bin/sh
NC_PATH="/var/www/html"
CONFIG="$NC_PATH/config/config.php"
NOTIFY_BIN="$NC_PATH/apps/notify_push/bin/x86_64/notify_push"
SOCKET_PATH="${SOCKET_PATH:-/tmp/docker/notify_push.sock}"
# env exports
export NEXTCLOUD_URL="${NEXTCLOUD_URL:-$OVERWRITECLIURL}"
export REDIS_URL="redis+unix://${REDIS_HOST}"
export DATABASE_URL="mysql://${MARIADB_USER}:${MARIADB_PASSWORD}@localhost/${MARIADB_DATABASE}?socket=${MARIADB_HOST}"
export DATABASE_PREFIX="oc_"
# Clean shutdown handler
cleanup() {
@@ -18,12 +19,12 @@ php occ app:install notify_push || true
php occ app:enable notify_push || true
echo "[*] Starting notify_push binary..."
"$NOTIFY_BIN" "$CONFIG" &
/var/www/html/apps/notify_push/bin/x86_64/notify_push &
NOTIFY_PID=$!
# Wait for the socket to appear, max 30 seconds
i=0
while [ $i -lt 6 ]; do
i=1
while [ $i -le 6 ]; do
echo "[*] Waiting 5 seconds for notify_push to be ready... (try $i/6)"
sleep 5
if [ -S "$SOCKET_PATH" ]; then

View File

@@ -15,21 +15,14 @@ Image=docker.io/library/nextcloud:fpm-alpine
# Enable auto-update container
AutoUpdate=registry
Environment=TZ=${TZ}
# Redis Credentials
Environment=REDIS_HOST=/tmp/docker/valkey.sock
# DB credentials
# DB credentials (only required when setting up first time)
Environment=MYSQL_PASSWORD=${MARIADB_PASSWORD}
Environment=MYSQL_DATABASE=${MARIADB_DATABASE}
Environment=MYSQL_USER=${MARIADB_USER}
Environment=MYSQL_HOST=localhost:/tmp/docker/mysqld.sock
Environment=MYSQL_HOST=localhost:${MARIADB_HOST}
# PHP Optimizations
Environment=PHP_MEMORY_LIMIT=2G
Environment=PHP_UPLOAD_LIMIT=100G
Environment=PHP_OPCACHE_MEMORY_CONSUMPTION=256
# env file
EnvironmentFile=./.env
Volume=%h/podman/nextcloud/html:/var/www/html
Volume=%h/nextcloud:/var/www/html/data

View File

@@ -5,12 +5,19 @@ Description=Nextcloud DB 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' '--skip-networking'
Exec=--transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --socket=${MARIADB_HOST} --skip-networking
# Enable auto-update container
AutoUpdate=registry
# pass this to attach it to container
EnvironmentFile=./.env
# Timezone
Environment=TZ=${TZ}
# DB credentials
Environment=MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
Environment=MARIADB_PASSWORD=${MARIADB_PASSWORD}
Environment=MARIADB_DATABASE=${MARIADB_DATABASE}
Environment=MARIADB_USER=${MARIADB_USER}
Volume=%h/podman/nextcloud/db:/var/lib/mysql

View File

@@ -14,11 +14,24 @@ Group=1000
# Enable auto-update container
AutoUpdate=registry
# Timezone
Environment=TZ=${TZ}
# Nextcloud Notify Push socket
# Nextcloud variables
Environment=SOCKET_PATH=${SOCKET_PATH}
Environment=NEXTCLOUD_URL=${NEXTCLOUD_URL}
Environment=OVERWRITECLIURL=${OVERWRITECLIURL}
Environment=OVERWRITEPROTOCOL=${OVERWRITEPROTOCOL}
Environment=TRUSTED_PROXIES=${TRUSTED_PROXIES}
# DB credentials
Environment=MARIADB_PASSWORD=${MARIADB_PASSWORD}
Environment=MARIADB_DATABASE=${MARIADB_DATABASE}
Environment=MARIADB_USER=${MARIADB_USER}
Environment=MARIADB_HOST=${MARIADB_HOST}
# Redis
Environment=REDIS_HOST=${REDIS_HOST}
Environment=REDIS_HOST_PORT=${REDIS_HOST_PORT}
Volume=%h/podman/nextcloud/html:/var/www/html
Volume=./nextcloud-notify-push-entrypoint.sh:/nextcloud-notify-push-entrypoint.sh

View File

@@ -5,12 +5,13 @@ Description=Nextcloud Valkey Container
Pod=nextcloud.pod
ContainerName=nextcloud_valkey
Image=ghcr.io/valkey-io/valkey:alpine
Exec=--port 0 --unixsocket /tmp/docker/valkey.sock --unixsocketperm 777
Exec=--port 0 --unixsocket ${REDIS_HOST} --unixsocketperm 777
# Enable auto-update container
AutoUpdate=registry
# pass this to attach it to container
EnvironmentFile=./.env
# Timezone
Environment=TZ=${TZ}
Volume=%h/podman/nextcloud/valkey:/data