Use alpine, add collabora, tune php uploads, bump database version
This commit is contained in:
parent
2107687a11
commit
03c2fb46cf
8 changed files with 47 additions and 51 deletions
|
|
@ -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
|
|
||||||
|
|
@ -16,14 +16,19 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nc-data:/var/www/html
|
- nc-data:/var/www/html
|
||||||
- ./config/nc:/var/www/html/config:rw
|
- type: tmpfs
|
||||||
|
target: /tmp:exec
|
||||||
environment:
|
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_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
|
- OVERWRITEPROTOCOL=https
|
||||||
|
- OVERWRITECLIURL=https://palta.cyou
|
||||||
|
# - VIRTUAL_PROTO=fastcgi
|
||||||
|
# - VIRTUAL_ROOT=xxx
|
||||||
- POSTGRES_HOST=db
|
- POSTGRES_HOST=db
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
|
- PHP_MEMORY_LIMIT=3G
|
||||||
|
- PHP_UPLOAD_LIMIT=3G
|
||||||
env_file:
|
env_file:
|
||||||
- db.env
|
- db.env
|
||||||
- nc_config.env
|
- nc_config.env
|
||||||
|
|
@ -34,11 +39,13 @@ services:
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
# janitor
|
# janitor
|
||||||
nextcloud-janitor:
|
janitor:
|
||||||
build: ./images/nc
|
build: ./images/nc
|
||||||
restart: always
|
restart: always
|
||||||
volumes_from:
|
volumes:
|
||||||
- nextcloud:rw
|
- nc-data:/var/www/html
|
||||||
|
- type: tmpfs
|
||||||
|
target: /tmp:exec
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
networks:
|
networks:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
|
|
@ -47,16 +54,14 @@ services:
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
# Frontend php proxy
|
# Frontend php proxy
|
||||||
nextcloud-front:
|
front:
|
||||||
build: ./images/ngx
|
build: ./images/ngx
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- VIRTUAL_HOST=palta.cyou
|
- VIRTUAL_HOST=palta.cyou
|
||||||
- LETSENCRYPT_HOST=palta.cyou
|
- LETSENCRYPT_HOST=palta.cyou
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- nc-data:/var/www/html:ro
|
- nc-data:/var/www/html:ro
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
networks:
|
networks:
|
||||||
|
|
@ -64,10 +69,8 @@ services:
|
||||||
- reverse_proxy-tier
|
- reverse_proxy-tier
|
||||||
# db
|
# db
|
||||||
db:
|
db:
|
||||||
image: postgres:14-alpine
|
image: postgres:17-alpine
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
|
||||||
- "5432:5432"
|
|
||||||
volumes:
|
volumes:
|
||||||
- db-data:/var/lib/postgresql/data
|
- db-data:/var/lib/postgresql/data
|
||||||
env_file:
|
env_file:
|
||||||
|
|
@ -75,9 +78,29 @@ services:
|
||||||
shm_size: 512MB
|
shm_size: 512MB
|
||||||
networks:
|
networks:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
|
# redis
|
||||||
redis:
|
redis:
|
||||||
image: redis:alpine
|
image: redis:alpine
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- nextcloud
|
- 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
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,15 @@
|
||||||
FROM nextcloud:production-fpm
|
FROM nextcloud:production-fpm-alpine
|
||||||
|
|
||||||
# Pregenerate previews
|
# Pregenerate previews
|
||||||
RUN echo "*/5 * * * * php -f /var/www/html/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data
|
RUN echo "*/5 * * * * php -f /var/www/html/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data
|
||||||
|
|
||||||
# Install app deps
|
# Install app deps
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
#RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||||
ffmpeg imagemagick wget gnupg2 unzip
|
# ffmpeg imagemagick wget gnupg2 unzip
|
||||||
|
RUN apk add --no-cache ffmpeg imagemagick wget gnupg unzip
|
||||||
|
|
||||||
## Increase memory limits
|
## 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
|
## Tune PHP-FPM Children
|
||||||
COPY fpmtune.ini /usr/local/etc/php/conf.d/fpmtune.ini
|
COPY fpmtune.ini ${PHP_INI_DIR}/conf.d/fpmtune.ini
|
||||||
|
|
||||||
# Remove residual gcc
|
|
||||||
RUN apt remove gcc -y && apt autoremove -y \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
|
||||||
|
|
@ -3,3 +3,4 @@ pm.start_servers=12
|
||||||
pm.min_spare_servers=12
|
pm.min_spare_servers=12
|
||||||
pm.max_spare_servers=38
|
pm.max_spare_servers=38
|
||||||
|
|
||||||
|
opcache.memory_consumption=256
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
upload_max_filesize=16G
|
upload_max_filesize=3G
|
||||||
post_max_size=16G
|
post_max_size=3G
|
||||||
max_input_time=3600
|
max_input_time=3600
|
||||||
max_execution_time=3600
|
max_execution_time=3600
|
||||||
memory_limit=1G
|
memory_limit=3G
|
||||||
output_buffering=0
|
output_buffering=0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
docker compose exec -tiu www-data nextcloud bash
|
docker compose exec -tiu www-data nextcloud sh
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue