forked from coop-cloud/nextcloud
Compare commits
11 Commits
feature/im
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c11f3f494e | |||
| aa3ab83a38 | |||
| dbdf6227e1 | |||
| e83ae638eb | |||
| 96e9a224f3 | |||
| afee08ae4d | |||
| 5f05ab8f42 | |||
| 65d5af91bc | |||
| 93037e1a35 | |||
| 9986e87db5 | |||
| 42c90cce21 |
@ -23,6 +23,7 @@ SECRET_ADMIN_PASSWORD_VERSION=v1
|
||||
EXTRA_VOLUME=/dev/null:/tmp/.dummy
|
||||
|
||||
PHP_MEMORY_LIMIT=1G
|
||||
PHP_UPLOAD_LIMIT=512M
|
||||
# fpm-tune, see: https://spot13.com/pmcalculator/
|
||||
FPM_MAX_CHILDREN=16
|
||||
FPM_START_SERVERS=4
|
||||
@ -81,16 +82,10 @@ DEFAULT_QUOTA="10 GB"
|
||||
# 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
|
||||
|
||||
# Image / PDF previews with Imaginary (see README)
|
||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.imaginary-preview.yml"
|
||||
|
||||
# HSTS Options
|
||||
# Uncomment this line to enable HSTS: https://docs.nextcloud.com/server/30/admin_manual/installation/harden_server.html
|
||||
#HSTS_ENABLED=1
|
||||
|
||||
33
README.md
33
README.md
@ -64,21 +64,18 @@ AUTHENTIK_ID_NAME=authentik_example_com_nextcloud_id_v1 # the same as in authen
|
||||
|
||||
`abra app cmd <app-name> app set_authentik`
|
||||
|
||||
### Disable Dashboard
|
||||
|
||||
Disable dashboard app since it is so corporate:
|
||||
|
||||
`abra app config <app-name>`
|
||||
Configure the following envs:
|
||||
```
|
||||
OCC_CMDS="app:disable dashboard"
|
||||
```
|
||||
`abra app cmd <app-name> app post_install_occ`
|
||||
|
||||
## Running `occ`
|
||||
|
||||
`abra app cmd <app-name> app run_occ '"user:list --help"'`
|
||||
|
||||
Read more about [occ command here](https://docs.nextcloud.com/server/stable/admin_manual/occ_command.html).
|
||||
|
||||
### Disable Dashboard
|
||||
|
||||
To disable dashboard app (since it is so corporate):
|
||||
|
||||
`abra app cmd <app-name> app run_occ '"app:disable dashboard"'`
|
||||
|
||||
## Default user files
|
||||
|
||||
- Follow [these docs](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html) to set the default files list for each user in the Files app
|
||||
@ -249,20 +246,6 @@ docker exec -u www-data $(docker ps -f name=foo_com_app -q) ./occ preview:pre-ge
|
||||
|
||||
This app will improve performance of image browsing at the cost of storage space.
|
||||
|
||||
## Better image previews with `imaginary`
|
||||
|
||||
1. Run `abra app config <domain>` and uncomment the line `#COMPOSE_FILE="$COMPOSE_FILE:compose.imaginary-preview.yml"`.
|
||||
2. Re-deploy the app (`abra app deploy <domain> --force`)
|
||||
3. Edit `/var/www/config/config.php` and add:
|
||||
|
||||
```
|
||||
'enabledPreviewProviders' =>
|
||||
array (
|
||||
0 => 'OC\\Preview\\Imaginary',
|
||||
),
|
||||
'preview_imaginary_url' => 'http://imaginary:9000',
|
||||
```
|
||||
|
||||
## Fulltextsearch using elasticsearch
|
||||
|
||||
1. Uncomment the following lines in your env file:
|
||||
|
||||
9
abra.sh
9
abra.sh
@ -2,7 +2,7 @@
|
||||
|
||||
export FPM_TUNE_VERSION=v5
|
||||
export NGINX_CONF_VERSION=v8
|
||||
export MY_CNF_VERSION=v5
|
||||
export MY_CNF_VERSION=v6
|
||||
export ENTRYPOINT_VERSION=v3
|
||||
export ENTRYPOINT_WHITEBOARD_VERSION=v1
|
||||
export CRONTAB_VERSION=v1
|
||||
@ -12,13 +12,6 @@ run_occ() {
|
||||
su -p www-data -s /bin/sh -c "/var/www/html/occ $@"
|
||||
}
|
||||
|
||||
post_install_occ() {
|
||||
IFS='|' read -ra CMD <<<"$OCC_CMDS"
|
||||
for cmd in "${CMD[@]}"; do
|
||||
run_occ "$cmd"
|
||||
done
|
||||
}
|
||||
|
||||
install_apps() {
|
||||
install_apps="$@"
|
||||
if [ -z "$install_apps" ]; then
|
||||
|
||||
@ -2,7 +2,7 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
elasticsearch:
|
||||
image: "docker.elastic.co/elasticsearch/elasticsearch:8.17.2"
|
||||
image: "docker.elastic.co/elasticsearch/elasticsearch:8.19.6"
|
||||
environment:
|
||||
- cluster.name=docker-cluster
|
||||
- bootstrap.memory_lock=true
|
||||
@ -29,7 +29,7 @@ services:
|
||||
mode: 0600
|
||||
|
||||
searchindexer:
|
||||
image: nextcloud:31.0.6-fpm
|
||||
image: nextcloud:32.0.1-fpm
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
---
|
||||
version: '3.8'
|
||||
services:
|
||||
imaginary:
|
||||
image: nextcloud/aio-imaginary:20250822_112758
|
||||
environment:
|
||||
- PORT=9000
|
||||
command: -concurrency 50 -enable-url-source -log-level debug
|
||||
networks:
|
||||
- internal
|
||||
@ -16,6 +16,7 @@ services:
|
||||
- MYSQL_PASSWORD_FILE=/run/secrets/db_password
|
||||
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
|
||||
- MAX_DB_CONNECTIONS=${MAX_DB_CONNECTIONS:-100}
|
||||
- INNODB_BUFFER_POOL_SIZE=${INNODB_BUFFER_POOL_SIZE:-1G}"
|
||||
configs:
|
||||
- source: my_tune
|
||||
target: /etc/mysql/conf.d/my-tune.cnf
|
||||
|
||||
@ -6,7 +6,7 @@ services:
|
||||
- whiteboard_jwt
|
||||
|
||||
whiteboard:
|
||||
image: ghcr.io/nextcloud-releases/whiteboard:v1.1.2
|
||||
image: ghcr.io/nextcloud-releases/whiteboard:v1.4.1
|
||||
deploy:
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
|
||||
29
compose.yml
29
compose.yml
@ -1,7 +1,7 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
web:
|
||||
image: nginx:1.29.0
|
||||
image: nginx:1.29.3
|
||||
depends_on:
|
||||
- app
|
||||
configs:
|
||||
@ -17,7 +17,7 @@ services:
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
- nextdata:/var/www/html/data:cached
|
||||
- /mnt/data-3t/nextdata:/var/www/html/data:cached
|
||||
- nextconfig:/var/www/html/config:cached
|
||||
- ${EXTRA_VOLUME}
|
||||
networks:
|
||||
@ -30,13 +30,22 @@ services:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy"
|
||||
# shared service & middleware
|
||||
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.scheme=https"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.permanent=true"
|
||||
# public domain (lets-encrypt cert)
|
||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||
- "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}"
|
||||
# local domain (self-signed cert)
|
||||
- "traefik.http.routers.${STACK_NAME}-local.rule=Host(`${LOCAL_DOMAIN}`)"
|
||||
- "traefik.http.routers.${STACK_NAME}-local.tls=true"
|
||||
- "traefik.http.routers.${STACK_NAME}-local.entrypoints=web-secure"
|
||||
- "traefik.http.routers.${STACK_NAME}-local.middlewares=${STACK_NAME}-redirect"
|
||||
- "traefik.http.routers.${STACK_NAME}-local.service=${STACK_NAME}"
|
||||
|
||||
- "caddy=${DOMAIN}"
|
||||
- "caddy.reverse_proxy={{upstreams 80}}"
|
||||
- "caddy.tls.on_demand="
|
||||
@ -48,7 +57,7 @@ services:
|
||||
start_period: 5m
|
||||
|
||||
app:
|
||||
image: nextcloud:31.0.6-fpm
|
||||
image: nextcloud:32.0.1-fpm
|
||||
depends_on:
|
||||
- db
|
||||
configs:
|
||||
@ -76,6 +85,7 @@ services:
|
||||
- OVERWRITEPROTOCOL=https
|
||||
- OVERWRITECLIURL=https://${DOMAIN}
|
||||
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-1G}
|
||||
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT:-512M}
|
||||
- FPM_MAX_CHILDREN=${FPM_MAX_CHILDREN:-131}
|
||||
- FPM_START_SERVERS=${FPM_START_SERVERS:-32}
|
||||
- FPM_MIN_SPARE_SERVERS=${FPM_MIN_SPARE_SERVERS:-32}
|
||||
@ -84,7 +94,7 @@ services:
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
- nextdata:/var/www/html/data:cached
|
||||
- /mnt/data-3t/nextdata:/var/www/html/data:cached
|
||||
- nextconfig:/var/www/html/config:cached
|
||||
- ${EXTRA_VOLUME}
|
||||
networks:
|
||||
@ -108,11 +118,11 @@ services:
|
||||
start_period: 15m
|
||||
|
||||
cron:
|
||||
image: nextcloud:31.0.6-fpm
|
||||
image: nextcloud:32.0.1-fpm
|
||||
volumes:
|
||||
- nextcloud:/var/www/html/
|
||||
- nextapps:/var/www/html/custom_apps:cached
|
||||
- nextdata:/var/www/html/data:cached
|
||||
- /mnt/data-3t/nextdata:/var/www/html/data:cached
|
||||
- nextconfig:/var/www/html/config:cached
|
||||
- ${EXTRA_VOLUME}
|
||||
networks:
|
||||
@ -124,7 +134,7 @@ services:
|
||||
|
||||
|
||||
cache:
|
||||
image: redis:8.0.2-alpine
|
||||
image: redis:8.2.3-alpine
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
@ -146,7 +156,6 @@ secrets:
|
||||
volumes:
|
||||
nextcloud:
|
||||
nextapps:
|
||||
nextdata:
|
||||
nextconfig:
|
||||
redis:
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# https://mariadb.com/kb/en/library/performance-schema-overview/
|
||||
|
||||
[server]
|
||||
innodb_buffer_pool_size = 1G
|
||||
innodb_buffer_pool_size = {{ env "INNODB_BUFFER_POOL_SIZE" }}
|
||||
innodb_flush_log_at_trx_commit = 2
|
||||
innodb_log_buffer_size = 32M
|
||||
innodb_max_dirty_pages_pct = 90
|
||||
|
||||
Reference in New Issue
Block a user