Up
This commit is contained in:
parent
24bee4c85e
commit
c084dd2a19
7 changed files with 86 additions and 22 deletions
22
db-init.d/create-multiple-postgresql-databases.sh
Normal file
22
db-init.d/create-multiple-postgresql-databases.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/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
|
||||||
4
db.env
Normal file
4
db.env
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
MYSQL_ROOT_PASSWORD=root
|
||||||
|
MYSQL_USER=nextcloud
|
||||||
|
MYSQL_PASSWORD=nextcloud
|
||||||
|
MYSQL_DATABASE=nextcloud
|
||||||
|
|
@ -7,9 +7,10 @@ volumes:
|
||||||
# vhost.d:
|
# vhost.d:
|
||||||
html:
|
html:
|
||||||
#NextCloud
|
#NextCloud
|
||||||
nc-appdata:
|
nc-data:
|
||||||
nc-userdata:
|
nc-userdata:
|
||||||
nc-apps:
|
nc-apps:
|
||||||
|
db-data:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy-tier:
|
proxy-tier:
|
||||||
|
|
@ -17,12 +18,12 @@ networks:
|
||||||
services:
|
services:
|
||||||
# ============ NextCloud
|
# ============ NextCloud
|
||||||
nextcloud:
|
nextcloud:
|
||||||
image: nextcloud
|
build: ./images/nc
|
||||||
restart: always
|
restart: always
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
volumes:
|
volumes:
|
||||||
- nc-appdata:/var/www/html
|
- nc-data:/var/www/html
|
||||||
- nc-userdata:/var/www/html/data
|
- nc-userdata:/var/www/html/data
|
||||||
- nc-apps:/var/www/html/apps
|
- nc-apps:/var/www/html/apps
|
||||||
environment:
|
environment:
|
||||||
|
|
@ -34,25 +35,37 @@ services:
|
||||||
- OVERWRITEPROTOCOL=https
|
- OVERWRITEPROTOCOL=https
|
||||||
- NEXTCLOUD_ADMIN_USER=Super
|
- NEXTCLOUD_ADMIN_USER=Super
|
||||||
- "NEXTCLOUD_ADMIN_PASSWORD=&3Qv%CQCGp>zs-!f"
|
- "NEXTCLOUD_ADMIN_PASSWORD=&3Qv%CQCGp>zs-!f"
|
||||||
- OBJECTSTORE_S3_HOST=axkurj1fnll3.compat.objectstorage.sa-santiago-1.oraclecloud.com
|
- OBJECTSTORE_S3_HOST=s3.us-west-001.backblazeb2.com
|
||||||
- OBJECTSTORE_S3_BUCKET=palta.cyou-nextcloud-standard-1
|
- OBJECTSTORE_S3_BUCKET=paltas
|
||||||
- OBJECTSTORE_S3_KEY=40b34022e06916f8c1ce17cd3dc93438465feb00
|
- OBJECTSTORE_S3_KEY=001602c9b6d6e420000000001
|
||||||
- OBJECTSTORE_S3_SECRET=uZDPc7J6oic5p3S0BWBJm0YojLtDsL+Ukjh8MdSCxNs=
|
- OBJECTSTORE_S3_SECRET=K001WXz69MkRgVKk+7DP4mwbZYXe2fQ
|
||||||
- OBJECTSTORE_S3_PORT=443
|
- OBJECTSTORE_S3_PORT=443
|
||||||
- OBJECTSTORE_S3_SSL=true
|
- OBJECTSTORE_S3_SSL=true
|
||||||
- OBJECTSTORE_S3_REGION=sa-santiago-1
|
- OBJECTSTORE_S3_REGION=us-west-001
|
||||||
- OBJECTSTORE_S3_USEPATH_STYLE=true
|
- OBJECTSTORE_S3_USEPATH_STYLE=true
|
||||||
|
- POSTGRES_HOST=db
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
env_file:
|
||||||
|
- db.env
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
- proxy-tier
|
- proxy-tier
|
||||||
|
depends_on:
|
||||||
|
- reverse_proxy
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
|
||||||
nextcloud-janitor:
|
nextcloud-janitor:
|
||||||
image: nextcloud
|
build: ./images/nc
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- nc-appdata:/var/www/html
|
- nc-data:/var/www/html
|
||||||
|
- nc-userdata:/var/www/html/data
|
||||||
|
- nc-apps:/var/www/html/apps
|
||||||
entrypoint: /cron.sh
|
entrypoint: /cron.sh
|
||||||
# depends_on:
|
depends_on:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
|
||||||
# =========== SSL
|
# =========== SSL
|
||||||
|
|
||||||
|
|
@ -78,7 +91,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- certs:/etc/nginx/certs
|
- certs:/etc/nginx/certs
|
||||||
- acme:/etc/acme.sh
|
- acme:/etc/acme.sh
|
||||||
- ./vhost.d:/etc/nginx/vhost.d:ro
|
- ./vhost.d:/etc/nginx/vhost.d
|
||||||
- html:/usr/share/nginx/html
|
- html:/usr/share/nginx/html
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
networks:
|
networks:
|
||||||
|
|
@ -88,3 +101,19 @@ services:
|
||||||
environment:
|
environment:
|
||||||
#- ACME_CA_URI=https://acme-staging-v02.api.letsencrypt.org/directory # test-server
|
#- ACME_CA_URI=https://acme-staging-v02.api.letsencrypt.org/directory # test-server
|
||||||
- DEFAULT_EMAIL=admin@uwu.email
|
- DEFAULT_EMAIL=admin@uwu.email
|
||||||
|
|
||||||
|
db:
|
||||||
|
# container_name: db
|
||||||
|
image: postgres:14-alpine
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- db-data:/var/lib/postgresql/data
|
||||||
|
env_file:
|
||||||
|
- db.env
|
||||||
|
shm_size: 256MB
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
restart: always
|
||||||
|
|
|
||||||
4
docker-update.sh
Executable file
4
docker-update.sh
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
docker compose up --force-recreate --build -d --pull always
|
||||||
|
docker image prune -f
|
||||||
5
images/nc/Dockerfile
Normal file
5
images/nc/Dockerfile
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
FROM nextcloud:25.0
|
||||||
|
|
||||||
|
RUN echo "*/5 * * * * php -f /var/www/nextcloud/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data
|
||||||
|
RUN apt-get update && apt-get install -y ffmpeg imagemagick \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
## Start of configuration add by letsencrypt container
|
|
||||||
location ^~ /.well-known/acme-challenge/ {
|
|
||||||
auth_basic off;
|
|
||||||
auth_request off;
|
|
||||||
allow all;
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
try_files $uri =404;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
## End of configuration add by letsencrypt container
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
||||||
|
## Start of configuration add by letsencrypt container
|
||||||
|
location ^~ /.well-known/acme-challenge/ {
|
||||||
|
auth_basic off;
|
||||||
|
auth_request off;
|
||||||
|
allow all;
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
try_files $uri =404;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
## End of configuration add by letsencrypt container
|
||||||
# From: https://github.com/nextcloud/docker/blob/85e22b4a8e6b12d82d574c7eacd68656dac85bf5/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/uploadsize.conf
|
# From: https://github.com/nextcloud/docker/blob/85e22b4a8e6b12d82d574c7eacd68656dac85bf5/.examples/docker-compose/with-nginx-proxy/postgres/fpm/proxy/uploadsize.conf
|
||||||
client_max_body_size 10G;
|
client_max_body_size 10G;
|
||||||
proxy_request_buffering off;
|
proxy_request_buffering off;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue