From bb096004f5488269317552cf9030dee76d553f2f Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Jul 2024 11:48:53 +0200 Subject: [PATCH] Added nextcloud without fpm --- .../nas/nextcloud-fpm/docker-compose.yml | 18 +-- homenetwork/nas/nextcloud/docker-compose.yml | 128 ++++++++++++++++++ homenetwork/nas/nextcloud/nc/Dockerfile | 13 ++ homenetwork/nas/nextcloud/redis/Dockerfile | 6 + homenetwork/nas/nextcloud/start.sh | 3 + homenetwork/nas/rclone_nextcloud.yml | 3 +- homenetwork/nas/rclone_storage.yml | 1 - homenetwork/nas/swag.yml | 3 +- 8 files changed, 162 insertions(+), 13 deletions(-) create mode 100644 homenetwork/nas/nextcloud/docker-compose.yml create mode 100644 homenetwork/nas/nextcloud/nc/Dockerfile create mode 100644 homenetwork/nas/nextcloud/redis/Dockerfile create mode 100755 homenetwork/nas/nextcloud/start.sh diff --git a/homenetwork/nas/nextcloud-fpm/docker-compose.yml b/homenetwork/nas/nextcloud-fpm/docker-compose.yml index b213e02..7eabe7e 100644 --- a/homenetwork/nas/nextcloud-fpm/docker-compose.yml +++ b/homenetwork/nas/nextcloud-fpm/docker-compose.yml @@ -74,15 +74,15 @@ services: - MYSQL_HOST=db - REDIS_HOST=redis - collabora: - image: collabora/code:latest - restart: unless-stopped - environment: - - password=password - - username=nextcloud - - extra_params=--o:ssl.enable=true - ports: - - 9980:9980 +# collabora: +# image: collabora/code:latest +# restart: unless-stopped +# environment: +# - password=password +# - username=nextcloud +# - extra_params=--o:ssl.enable=true +# ports: +# - 9980:9980 nginx: diff --git a/homenetwork/nas/nextcloud/docker-compose.yml b/homenetwork/nas/nextcloud/docker-compose.yml new file mode 100644 index 0000000..e923381 --- /dev/null +++ b/homenetwork/nas/nextcloud/docker-compose.yml @@ -0,0 +1,128 @@ + +volumes: + nchome: + driver: local + driver_opts: + type: none + o: bind + device: /srv/dev-disk-by-uuid-9033ccb2-df6d-46a3-9996-99a0d4d34688/nextcloud/home + ncdb: + driver: local + driver_opts: + type: none + o: bind + device: /srv/dev-disk-by-uuid-9033ccb2-df6d-46a3-9996-99a0d4d34688/nextcloud/database + ncdata: + driver: local + driver_opts: + type: none + o: bind + device: /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/nextcloud/storage + + +services: + db: + image: mariadb:10.6 + restart: always + command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW + volumes: + - ncdb:/var/lib/mysql:Z + environment: + - MYSQL_ROOT_PASSWORD=rootpw + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + + aio-imaginary: + image: nextcloud/aio-imaginary:latest + restart: always + environment: + - PORT=9000 + ports: + - 9999:9000 + command: -concurrency 50 -enable-url-source + + nextcloud: + build: + context: ./nc + args: + UID: ${MUID} + GID: ${MGID} + restart: always + ports: + - 8888:80 + links: + - db + volumes: + - nchome:/var/www/html:z + - ncdata:/var/www/html/data + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/:/ex_storage/ + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/fearium:/ex_storage/bands/fearium + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/breakpointnine:/ex_storage/bands/breakpointnine + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/lastfloorright:/ex_storage/bands/lastfloorright + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/nofunkallowed:/ex_storage/bands/nofunkallowed + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/music:/ex_storage/music + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/video:/ex_storage/video + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories:/ex_storage/repositories + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/hwsw:/ex_storage/hwsw + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/timelapse:/ex_storage/timelapse + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/pictures:/ex_storage/pictures + + environment: + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db + - REDIS_HOST=redis + + collabora: + image: collabora/code:latest + restart: unless-stopped + environment: + - password=password + - username=nextcloud + - extra_params=--o:ssl.enable=true + ports: + - 9980:9980 + + + redis: + build: + context: ./redis + args: + UID: ${MUID} + GID: ${MGID} + restart: always + + cron: + build: + context: ./nc + args: + UID: ${MUID} + GID: ${MGID} + restart: always + volumes: + - nchome:/var/www/html:z + - ncdata:/var/www/html/data + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/:/ex_storage/ + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/fearium:/ex_storage/bands/fearium + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/breakpointnine:/ex_storage/bands/breakpointnine + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/lastfloorright:/ex_storage/bands/lastfloorright + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/bands/nofunkallowed:/ex_storage/bands/nofunkallowed + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/music:/ex_storage/music + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/video:/ex_storage/video + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories:/ex_storage/repositories + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/hwsw:/ex_storage/hwsw + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/timelapse:/ex_storage/timelapse + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/pictures:/ex_storage/pictures + + environment: + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db + - REDIS_HOST=redis + entrypoint: /cron.sh + depends_on: + - nextcloud + diff --git a/homenetwork/nas/nextcloud/nc/Dockerfile b/homenetwork/nas/nextcloud/nc/Dockerfile new file mode 100644 index 0000000..5c46137 --- /dev/null +++ b/homenetwork/nas/nextcloud/nc/Dockerfile @@ -0,0 +1,13 @@ +FROM nextcloud + +ARG UID=1000 +ARG GID=1000 + +#RUN adduser --system --no-create-home --home /nonexistent --gecos 'www-data user' --shell /bin/false --uid 82 www-data +RUN usermod -u $UID -o www-data +RUN apt update \ + && apt -y install libmagickcore-6.q16-6-extra ffmpeg imagemagick ghostscript \ + && apt clean + +# Add custom cron job for previews +RUN echo '*/15 * * * * php /var/www/html/occ preview:pre-generate' >> /var/spool/cron/crontabs/www-data diff --git a/homenetwork/nas/nextcloud/redis/Dockerfile b/homenetwork/nas/nextcloud/redis/Dockerfile new file mode 100644 index 0000000..5770389 --- /dev/null +++ b/homenetwork/nas/nextcloud/redis/Dockerfile @@ -0,0 +1,6 @@ +FROM redis:latest + +ARG UID=1000 +ARG GID=1000 + +RUN usermod -u $UID -o www-data diff --git a/homenetwork/nas/nextcloud/start.sh b/homenetwork/nas/nextcloud/start.sh new file mode 100755 index 0000000..58e6caf --- /dev/null +++ b/homenetwork/nas/nextcloud/start.sh @@ -0,0 +1,3 @@ +MUID="$(id -u www-data)" MGID="$(id -g www-data)" docker-compose build --no-cache +MUID="$(id -u www-data)" MGID="$(id -g www-data)" docker-compose up -d --force-recreate + diff --git a/homenetwork/nas/rclone_nextcloud.yml b/homenetwork/nas/rclone_nextcloud.yml index c7f05c4..e1b6bc0 100644 --- a/homenetwork/nas/rclone_nextcloud.yml +++ b/homenetwork/nas/rclone_nextcloud.yml @@ -1,4 +1,3 @@ -version: '3.8' name: backup_nextcloud @@ -7,7 +6,7 @@ services: image: registry.vbchaos.nl/rclone container_name: bs_nextcloud_storage environment: - - COMMAND=rclone copy -v /backup/ stackstorage:/julien/nextcloud/storage + - COMMAND=rclone copy -v /backup/ stackstorage:/julien/nextcloud/storage --exclude=storage/appdata_*/** - CRON_SCHEDULE=0 0-23/1 * * * volumes: - ${PWD}/rclone.conf:/root/.config/rclone/rclone.conf diff --git a/homenetwork/nas/rclone_storage.yml b/homenetwork/nas/rclone_storage.yml index db29f8a..208b81a 100644 --- a/homenetwork/nas/rclone_storage.yml +++ b/homenetwork/nas/rclone_storage.yml @@ -1,4 +1,3 @@ -version: '3.8' name: backup_storage diff --git a/homenetwork/nas/swag.yml b/homenetwork/nas/swag.yml index 7b89e1a..052ef10 100644 --- a/homenetwork/nas/swag.yml +++ b/homenetwork/nas/swag.yml @@ -28,7 +28,8 @@ services: - EXTRA_DOMAINS= #optional - STAGING=false #optional volumes: - - swag_data:/config +# - swag_data:/config + - /srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/docker_config/swag:/config ports: - 443:443 - 81:80 #optional