Compare commits

..

13 Commits

9 changed files with 50 additions and 21 deletions

View File

@ -31,3 +31,19 @@ steps:
trigger:
branch:
- main
---
kind: pipeline
name: generate recipe catalogue
steps:
- name: release a new version
image: plugins/downstream
settings:
server: https://build.coopcloud.tech
token:
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-recipes-catalogue-json
trigger:
event: tag

View File

@ -11,6 +11,8 @@ COMPOSE_FILE="compose.yml"
COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"
#COMPOSE_FILE="$COMPOSE_FILE:compose.postgres.yml"
#MAX_DB_CONNECTIONS=500
ADMIN_USER=admin
SECRET_DB_ROOT_PASSWORD_VERSION=v1
@ -21,10 +23,10 @@ EXTRA_VOLUME=/dev/null:/tmp/.dummy
PHP_MEMORY_LIMIT=1G
# fpm-tune, see: https://spot13.com/pmcalculator/
FPM_MAX_CHILDREN=131
FPM_START_SERVERS=32
FPM_MIN_SPARE_SERVERS=32
FPM_MAX_SPARE_SERVERS=98
FPM_MAX_CHILDREN=16
FPM_START_SERVERS=4
FPM_MIN_SPARE_SERVERS=4
FPM_MAX_SPARE_SERVERS=12
DEFAULT_QUOTA="10 GB"
@ -58,5 +60,5 @@ DEFAULT_QUOTA="10 GB"
# COMPOSE_FILE="$COMPOSE_FILE:compose.authentik.yml"
# AUTHENTIK_USER_PREFIX=authentik
# AUTHENTIK_DOMAIN=authentik.example.com
# AUTHENTIK_SECRET_NAME=authentik_example_com_nextcloud_secret_v1 # the same as in authentik
# AUTHENTIK_ID_NAME=authentik_example_com_nextcloud_id_v1 # the same as in authentik
# SECRET_AUTHENTIK_SECRET_VERSION=v1
# SECRET_AUTHENTIK_ID_VERSION=v1

View File

@ -2,7 +2,7 @@
export FPM_TUNE_VERSION=v5
export NGINX_CONF_VERSION=v4
export MY_CNF_VERSION=v4
export MY_CNF_VERSION=v5
export ENTRYPOINT_VERSION=v3
run_occ() {
@ -47,6 +47,10 @@ set_trusted_proxies() {
set_system_config trusted_proxies "$trusted_proxies"
}
set_logfile_stdout() {
set_system_config logfile '/dev/stdout'
}
install_bbb() {
install_apps bbb
set_app_config bbb app.navigation true

View File

@ -8,7 +8,7 @@ services:
secrets:
authentik_secret:
external: true
name: ${AUTHENTIK_SECRET_NAME}
name: ${STACK_NAME}_authentik_secret_${SECRET_AUTHENTIK_SECRET_VERSION}
authentik_id:
external: true
name: ${AUTHENTIK_ID_NAME}
name: ${STACK_NAME}_authentik_id_${SECRET_AUTHENTIK_ID_VERSION}

View File

@ -15,6 +15,7 @@ services:
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD_FILE=/run/secrets/db_password
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
- MAX_DB_CONNECTIONS=${MAX_DB_CONNECTIONS:-100}
configs:
- source: my_tune
target: /etc/mysql/conf.d/my-tune.cnf
@ -28,9 +29,9 @@ services:
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.pre-hook: 'mkdir -p /tmp/backup/ && mysqldump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" nextcloud > /tmp/backup/backup.sql'
backupbot.backup.post-hook: "rm -rf /tmp/backup"
backupbot.backup.path: "/tmp/backup/"
backupbot.backup.pre-hook: 'mysqldump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" nextcloud > /var/lib/mysql/backup.sql'
backupbot.backup.post-hook: "rm -rf /var/lib/mysql/backup.sql"
backupbot.backup.path: "/var/lib/mysql/backup.sql"
healthcheck:
test: ["CMD-SHELL", 'mysqladmin -p"$$(cat /run/secrets/db_root_password)" ping']
interval: 30s
@ -41,6 +42,7 @@ configs:
my_tune:
name: ${STACK_NAME}_my_cnf_${MY_CNF_VERSION}
file: my-tune.cnf
template_driver: golang
volumes:
mariadb:

View File

@ -11,6 +11,7 @@ services:
db:
image: "postgres:12"
command: -c "max_connections=${MAX_DB_CONNECTIONS:-100}"
volumes:
- "postgres:/var/lib/postgresql/data"
networks:
@ -29,9 +30,9 @@ services:
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.pre-hook: "mkdir -p /tmp/backup/ && PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup/backup.sql"
backupbot.backup.post-hook: "rm -rf /tmp/backup"
backupbot.backup.path: "/tmp/backup/"
backupbot.backup.pre-hook: "PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /var/lib/postgresql/data/backup.sql"
backupbot.backup.post-hook: "rm -rf /var/lib/postgresql/data/backup.sql"
backupbot.backup.path: "/var/lib/postgresql/data/"
volumes:
postgres:

View File

@ -1,7 +1,7 @@
version: "3.8"
services:
web:
image: nginx:1.25.0
image: nginx:1.25.1
configs:
- source: nginx_conf
target: /etc/nginx/nginx.conf
@ -33,6 +33,9 @@ services:
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- "caddy=${DOMAIN}"
- "caddy.reverse_proxy={{upstreams 80}}"
- "caddy.tls.on_demand="
healthcheck:
test: ["CMD-SHELL", 'curl -s -N curl -Ns localhost/status.php | grep "installed\":true"']
interval: 30s
@ -41,7 +44,7 @@ services:
start_period: 5m
app:
image: nextcloud:26.0.2-fpm
image: nextcloud:27.0.1-fpm
depends_on:
- db
configs:
@ -86,7 +89,7 @@ services:
failure_action: rollback
order: start-first
labels:
- "coop-cloud.${STACK_NAME}.version=4.0.6+26.0.2-fpm"
- "coop-cloud.${STACK_NAME}.version=5.0.3+27.0.1-fpm"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "backupbot.backup=true"
- "backupbot.backup.path=/var/www/html/config/,/var/www/html/data/,/var/www/html/custom_apps/"
@ -98,7 +101,7 @@ services:
start_period: 5m
cron:
image: nextcloud:26.0.2-fpm
image: nextcloud:27.0.1-fpm
volumes:
- nextcloud:/var/www/html/
- nextapps:/var/www/html/custom_apps:cached
@ -110,7 +113,7 @@ services:
entrypoint: /cron.sh
cache:
image: redis:7.0.11-alpine
image: redis:7.0.12-alpine
networks:
- internal
volumes:

View File

@ -13,7 +13,7 @@ key_buffer_size = 16M
innodb_log_file_size = 256M
long_query_time = 1
max_allowed_packet = 256M
max_connections = 100
max_connections = {{ env "MAX_DB_CONNECTIONS" }}
max_heap_table_size = 64M
max_user_connections = 0
myisam_recover_options = BACKUP

1
release/next Normal file
View File

@ -0,0 +1 @@
The authentik secrets need to be inserted again, as nextcloud is not sharing the secret with authentik any more.