diff --git a/db-init.d/create-multiple-postgresql-databases.sh b/db-init.d/create-multiple-postgresql-databases.sh deleted file mode 100644 index aa665fa..0000000 --- a/db-init.d/create-multiple-postgresql-databases.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -set -e -set -u - -function create_user_and_database() { - local database=$1 - echo " Creating user and database '$database'" - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE USER $database; - CREATE DATABASE $database; - GRANT ALL PRIVILEGES ON DATABASE $database TO $database; -EOSQL -} - -if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then - echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" - for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do - create_user_and_database $db - done - echo "Multiple databases created" -fi diff --git a/docker-compose.yml b/docker-compose.yml index df8b2ad..41f37e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,14 +16,19 @@ services: restart: always volumes: - nc-data:/var/www/html - - ./config/nc:/var/www/html/config:rw + - type: tmpfs + target: /tmp:exec environment: - TRUSTED_PROXIES=172.16.0.0/12 192.168.0.0/16 10.0.0.0/8 fc00::/7 fe80::/10 2001:db8::/32 - - TRUSTED_DOMAINS=palta.cyou,bard.palta.cyou + - NEXTCLOUD_TRUSTED_DOMAINS=palta.cyou - OVERWRITEPROTOCOL=https - + - OVERWRITECLIURL=https://palta.cyou +# - VIRTUAL_PROTO=fastcgi +# - VIRTUAL_ROOT=xxx - POSTGRES_HOST=db - REDIS_HOST=redis + - PHP_MEMORY_LIMIT=3G + - PHP_UPLOAD_LIMIT=3G env_file: - db.env - nc_config.env @@ -34,11 +39,13 @@ services: - redis # janitor - nextcloud-janitor: + janitor: build: ./images/nc restart: always - volumes_from: - - nextcloud:rw + volumes: + - nc-data:/var/www/html + - type: tmpfs + target: /tmp:exec entrypoint: /cron.sh networks: - nextcloud @@ -47,16 +54,14 @@ services: - redis # Frontend php proxy - nextcloud-front: + front: build: ./images/ngx restart: always environment: - VIRTUAL_HOST=palta.cyou - LETSENCRYPT_HOST=palta.cyou - volumes: - nc-data:/var/www/html:ro - depends_on: - nextcloud networks: @@ -64,10 +69,8 @@ services: - reverse_proxy-tier # db db: - image: postgres:14-alpine + image: postgres:17-alpine restart: always - ports: - - "5432:5432" volumes: - db-data:/var/lib/postgresql/data env_file: @@ -75,9 +78,29 @@ services: shm_size: 512MB networks: - nextcloud - +# redis redis: image: redis:alpine restart: always networks: - nextcloud + +# Collabora CODE + collabora: + image: collabora/code + restart: always + privileged: true + hostname: collabora.palta.cyou + environment: + - VIRTUAL_HOST=collabora.palta.cyou + - VIRTUAL_PORT=9980 + - VIRTUAL_PROTO=https + - LETSENCRYPT_HOST=collabora.palta.cyou + - server_name=collabora.palta.cyou + - aliasgroup1=https://palta.cyou + networks: + - reverse_proxy-tier + - nextcloud + volumes: + - type: tmpfs + target: /tmp:exec diff --git a/images/nc/Dockerfile b/images/nc/Dockerfile index e10cb52..0a6683d 100644 --- a/images/nc/Dockerfile +++ b/images/nc/Dockerfile @@ -1,18 +1,15 @@ -FROM nextcloud:production-fpm +FROM nextcloud:production-fpm-alpine # Pregenerate previews RUN echo "*/5 * * * * php -f /var/www/html/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data # Install app deps -RUN apt-get update && apt-get install --no-install-recommends -y \ - ffmpeg imagemagick wget gnupg2 unzip +#RUN apt-get update && apt-get install --no-install-recommends -y \ +# ffmpeg imagemagick wget gnupg2 unzip +RUN apk add --no-cache ffmpeg imagemagick wget gnupg unzip ## Increase memory limits -COPY upload.ini /usr/local/etc/php/conf.d/upload.ini +COPY upload.ini ${PHP_INI_DIR}/conf.d/upload.ini ## Tune PHP-FPM Children -COPY fpmtune.ini /usr/local/etc/php/conf.d/fpmtune.ini - -# Remove residual gcc -RUN apt remove gcc -y && apt autoremove -y \ - && rm -rf /var/lib/apt/lists/* +COPY fpmtune.ini ${PHP_INI_DIR}/conf.d/fpmtune.ini diff --git a/images/nc/fpmtune.ini b/images/nc/fpmtune.ini index dfb734f..84cff9c 100644 --- a/images/nc/fpmtune.ini +++ b/images/nc/fpmtune.ini @@ -3,3 +3,4 @@ pm.start_servers=12 pm.min_spare_servers=12 pm.max_spare_servers=38 +opcache.memory_consumption=256 diff --git a/images/nc/upload.ini b/images/nc/upload.ini index bacf498..a25c2d0 100644 --- a/images/nc/upload.ini +++ b/images/nc/upload.ini @@ -1,6 +1,6 @@ -upload_max_filesize=16G -post_max_size=16G +upload_max_filesize=3G +post_max_size=3G max_input_time=3600 max_execution_time=3600 -memory_limit=1G +memory_limit=3G output_buffering=0 diff --git a/next-shell.sh b/next-shell.sh index c8dff69..f741c1a 100755 --- a/next-shell.sh +++ b/next-shell.sh @@ -1 +1 @@ -docker compose exec -tiu www-data nextcloud bash +docker compose exec -tiu www-data nextcloud sh diff --git a/vhost.d/default b/vhost.d/default deleted file mode 100644 index e69de29..0000000 diff --git a/vhost.d/palta.cyou b/vhost.d/palta.cyou deleted file mode 100644 index 0747b6f..0000000 --- a/vhost.d/palta.cyou +++ /dev/null @@ -1,3 +0,0 @@ -# From: https://github.com/nextcloud/docker/blob/85e22b4a8e6b12d82d574c7eacd68656dac85bf5/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/uploadsize.conf -client_max_body_size 10G; -proxy_request_buffering off;