Compare commits
24 Commits
add-themin
...
add-themin
Author | SHA1 | Date | |
---|---|---|---|
6b79ac67c1 | |||
a5bb4e9252 | |||
514c313a94 | |||
a537d0797f | |||
97dffc3d3e | |||
4878c76065 | |||
c94ffed09d | |||
7a863573c9 | |||
c930bbcf56 | |||
a13e7a509c | |||
0f9aba3e9e | |||
eb3e2486ce | |||
2b4e63ef31 | |||
c056687849 | |||
180c269337 | |||
7eea2e0785 | |||
be915272b4 | |||
9be859db25 | |||
97e1d72604 | |||
8a1fae2bac | |||
ce817e3928 | |||
7a64d3c6a7 | |||
bb781e654b | |||
cb5cd5f7b2 |
31
.env.sample
31
.env.sample
@ -44,26 +44,35 @@ DEFAULT_QUOTA="10 GB"
|
||||
# MAIL_DOMAIN=
|
||||
# SECRET_SMTP_PASSWORD_VERSION=v1
|
||||
|
||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.apps.yml"
|
||||
# APPS="calendar sociallogin onlyoffice"
|
||||
#
|
||||
# ONLYOFFICE_URL=https://onlyoffice.example.com
|
||||
# SECRET_ONLYOFFICE_JWT_VERSION=v1
|
||||
#
|
||||
## Customization
|
||||
# THEMING_COLOR=
|
||||
# THEMING_SLOGAN=
|
||||
# COPY_ASSETS="flow_background.jpg|app:/var/www/html/themes/background.jpg"
|
||||
# COPY_ASSETS="$COPY_ASSETS icon_left_brand.svg|app:/var/www/html/themes/logo.svg"
|
||||
# COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/icon.png"
|
||||
|
||||
# APPS="calendar"
|
||||
|
||||
# COLLABORA_URL=https://collabora.example.com
|
||||
#
|
||||
|
||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.onlyoffice.yml"
|
||||
# ONLYOFFICE_URL=https://onlyoffice.example.com
|
||||
# APPS="$APPS onlyoffice"
|
||||
# SECRET_ONLYOFFICE_JWT_VERSION=v1
|
||||
|
||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.bbb.yml"
|
||||
# BBB_URL=https://talk.example.org/bigbluebutton/ # trailing slash!
|
||||
# SECRET_BBB_SECRET_VERSION=v1
|
||||
#
|
||||
# OCC_CMDS="app:disable dashboard"
|
||||
# OCC_CMDS="$OCC_CMDS|config:app:set sociallogin auto_create_groups --value 1"
|
||||
# OCC_CMDS="$OCC_CMDS|config:app:set sociallogin hide_default_login --value 1"
|
||||
|
||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.authentik.yml"
|
||||
# APPS="$APPS sociallogin"
|
||||
# AUTHENTIK_USER_PREFIX=authentik
|
||||
# AUTHENTIK_DOMAIN=authentik.example.com
|
||||
# SECRET_AUTHENTIK_SECRET_VERSION=v1
|
||||
# SECRET_AUTHENTIK_ID_VERSION=v1
|
||||
# OCC_CMDS="app:disable dashboard"
|
||||
# OCC_CMDS="$OCC_CMDS|config:app:set sociallogin auto_create_groups --value 1"
|
||||
# OCC_CMDS="$OCC_CMDS|config:app:set sociallogin hide_default_login --value 1"
|
||||
|
||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.fulltextsearch.yml"
|
||||
#SECRET_ELASTICSEARCH_PASSWORD_VERSION=v1
|
||||
|
28
abra.sh
28
abra.sh
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
export FPM_TUNE_VERSION=v5
|
||||
export NGINX_CONF_VERSION=v6
|
||||
export NGINX_CONF_VERSION=v7
|
||||
export MY_CNF_VERSION=v5
|
||||
export ENTRYPOINT_VERSION=v3
|
||||
export CRONTAB_VERSION=v1
|
||||
@ -52,6 +52,27 @@ set_logfile_stdout() {
|
||||
set_system_config logfile '/dev/stdout'
|
||||
}
|
||||
|
||||
customize() {
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Usage: ... customize <assets_path>"
|
||||
exit 1
|
||||
fi
|
||||
asset_dir=$1
|
||||
for asset in $COPY_ASSETS; do
|
||||
source=$(echo $asset | cut -d "|" -f1)
|
||||
target=$(echo $asset | cut -d "|" -f2)
|
||||
echo copy $source to $target
|
||||
abra app cp $APP_NAME $asset_dir/$source $target
|
||||
done
|
||||
|
||||
abra app cmd -T $APP_NAME app set_app_config theming color \"$THEMING_COLOR\"
|
||||
abra app cmd -T $APP_NAME app set_app_config theming slogan \"$THEMING_SLOGAN\"
|
||||
abra app cmd -T $APP_NAME app run_occ '"theming:config background \"/var/www/html/themes/flow_background.jpg\""'
|
||||
abra app cmd -T $APP_NAME app run_occ '"theming:config logo \"/var/www/html/themes/icon_left_brand.svg\""'
|
||||
abra app cmd -T $APP_NAME app run_occ '"theming:config logoheader \"/var/www/html/themes/icon.png\""'
|
||||
}
|
||||
|
||||
install_bbb() {
|
||||
install_apps bbb
|
||||
set_app_config bbb app.navigation true
|
||||
@ -89,6 +110,7 @@ set_authentik() {
|
||||
install_apps sociallogin
|
||||
AUTHENTIK_SECRET=$(cat /run/secrets/authentik_secret)
|
||||
AUTHENTIK_ID=$(cat /run/secrets/authentik_id)
|
||||
set_system_config logo_url https://$AUTHENTIK_DOMAIN
|
||||
set_app_config sociallogin custom_providers "
|
||||
{
|
||||
\"custom_oidc\":[
|
||||
@ -121,3 +143,7 @@ set_authentik() {
|
||||
run_occ 'config:system:set allow_user_to_change_display_name --value=false'
|
||||
run_occ 'config:system:set lost_password_link --value=disabled'
|
||||
}
|
||||
|
||||
disable_skeletondirectory() {
|
||||
run_occ "config:system:set skeletondirectory --value ''"
|
||||
}
|
||||
|
24
alaconnect.yml
Normal file
24
alaconnect.yml
Normal file
@ -0,0 +1,24 @@
|
||||
authentik:
|
||||
uncomment:
|
||||
- compose.authentik.yml
|
||||
- AUTHENTIK_USER_PREFIX
|
||||
- AUTHENTIK_DOMAIN
|
||||
- SECRET_AUTHENTIK_SECRET_VERSION
|
||||
- SECRET_AUTHENTIK_ID_VERSION
|
||||
initial-hooks:
|
||||
- app set_authentik
|
||||
shared_secrets:
|
||||
nextcloud_secret: authentik_secret
|
||||
nextcloud_id: authentik_id
|
||||
onlyoffice:
|
||||
uncomment:
|
||||
- compose.onlyoffice.yml
|
||||
- ONLYOFFICE_URL
|
||||
- SECRET_ONLYOFFICE_JWT_VERSION
|
||||
initial-hooks:
|
||||
- app install_onlyoffice
|
||||
collabora:
|
||||
uncomment:
|
||||
- COLLABORA_URL
|
||||
initial-hooks:
|
||||
- app install_collabora
|
12
compose.bbb.yml
Normal file
12
compose.bbb.yml
Normal file
@ -0,0 +1,12 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
app:
|
||||
secrets:
|
||||
- bbb_secret
|
||||
environment:
|
||||
- BBB_URL
|
||||
|
||||
secrets:
|
||||
bbb_secret:
|
||||
external: true
|
||||
name: ${STACK_NAME}_bbb_secret_${SECRET_BBB_SECRET_VERSION}
|
@ -2,7 +2,7 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
elasticsearch:
|
||||
image: "docker.elastic.co/elasticsearch/elasticsearch:8.11.3"
|
||||
image: "docker.elastic.co/elasticsearch/elasticsearch:8.15.0"
|
||||
environment:
|
||||
- cluster.name=docker-cluster
|
||||
- bootstrap.memory_lock=true
|
||||
@ -29,7 +29,7 @@ services:
|
||||
mode: 0600
|
||||
|
||||
searchindexer:
|
||||
image: nextcloud:28.0.5-fpm
|
||||
image: nextcloud:29.0.5-fpm
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
|
@ -3,16 +3,10 @@ services:
|
||||
app:
|
||||
secrets:
|
||||
- onlyoffice_jwt
|
||||
- bbb_secret
|
||||
environment:
|
||||
- APPS
|
||||
- ONLYOFFICE_URL
|
||||
- BBB_URL
|
||||
|
||||
secrets:
|
||||
onlyoffice_jwt:
|
||||
external: true
|
||||
name: ${STACK_NAME}_onlyoffice_jwt_${SECRET_ONLYOFFICE_JWT_VERSION}
|
||||
bbb_secret:
|
||||
external: true
|
||||
name: ${STACK_NAME}_bbb_secret_${SECRET_BBB_SECRET_VERSION}
|
@ -10,7 +10,7 @@ services:
|
||||
- NEXTCLOUD_UPDATE=1
|
||||
|
||||
db:
|
||||
image: "postgres:12"
|
||||
image: "postgres:13"
|
||||
command: -c "max_connections=${MAX_DB_CONNECTIONS:-100}"
|
||||
volumes:
|
||||
- "postgres:/var/lib/postgresql/data"
|
||||
|
10
compose.yml
10
compose.yml
@ -1,7 +1,7 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
web:
|
||||
image: nginx:1.25.3
|
||||
image: nginx:1.27.1
|
||||
depends_on:
|
||||
- app
|
||||
configs:
|
||||
@ -46,7 +46,7 @@ services:
|
||||
start_period: 5m
|
||||
|
||||
app:
|
||||
image: nextcloud:28.0.5-fpm
|
||||
image: nextcloud:29.0.5-fpm
|
||||
depends_on:
|
||||
- db
|
||||
configs:
|
||||
@ -91,7 +91,7 @@ services:
|
||||
failure_action: rollback
|
||||
order: start-first
|
||||
labels:
|
||||
- "coop-cloud.${STACK_NAME}.version=6.0.4+28.0.5-fpm"
|
||||
- "coop-cloud.${STACK_NAME}.version=9.1.0+29.0.5-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/"
|
||||
@ -103,7 +103,7 @@ services:
|
||||
start_period: 15m
|
||||
|
||||
cron:
|
||||
image: nextcloud:28.0.5-fpm
|
||||
image: nextcloud:29.0.5-fpm
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
@ -119,7 +119,7 @@ services:
|
||||
|
||||
|
||||
cache:
|
||||
image: redis:7.2.4-alpine
|
||||
image: redis:7.4.0-alpine
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
|
@ -136,6 +136,9 @@ http {
|
||||
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
|
||||
# to the URI, resulting in a HTTP 500 error response.
|
||||
location ~ \.php(?:$|/) {
|
||||
# Required for legacy support
|
||||
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode(_arm64)?\/proxy) /index.php$request_uri;
|
||||
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
|
||||
|
1
release/8.0.0+29.0.1-fpm
Normal file
1
release/8.0.0+29.0.1-fpm
Normal file
@ -0,0 +1 @@
|
||||
BREAKING CHANGE: compose.apps.yml is now split for bbb and onlyoffice, configs must be updated
|
1
release/9.1.0+29.0.5-fpm
Normal file
1
release/9.1.0+29.0.5-fpm
Normal file
@ -0,0 +1 @@
|
||||
Added automated customization options. Config needs to be updated to be able to use it.
|
Reference in New Issue
Block a user