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
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -3,3 +3,4 @@ pm.start_servers=12
|
|||
pm.min_spare_servers=12
|
||||
pm.max_spare_servers=38
|
||||
|
||||
opcache.memory_consumption=256
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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