From 323a16f2873f9864d52899370254f1f51a83bbee Mon Sep 17 00:00:00 2001 From: root Date: Sun, 14 Dec 2025 20:10:07 +0100 Subject: [PATCH] refactor docker compose --- .docker-compose.yml.swp | Bin 12288 -> 0 bytes db-config/my.cnf | 20 +++++++++++----- docker-compose.yml | 52 ++++++++++++++++++++++++++++------------ 3 files changed, 51 insertions(+), 21 deletions(-) delete mode 100644 .docker-compose.yml.swp diff --git a/.docker-compose.yml.swp b/.docker-compose.yml.swp deleted file mode 100644 index d1596b34e54aa22f7aac90060560a9fd7625bc30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2&uipl7{}lBw63nM3VZRAtwj)=WHM9QZeSLsooE9y%{a+yyLt$j$vbUme(jq~ z$5M)d9`+`VT2le1t1VPY)-c2%mV6qbcI6wr5*z84N1$qD;=l$H9SAB8a$4}5Q4Ltf4ea03@$;3}zB^- z$jMW11Ka>NzzuK%+yFPg4R8b8z>{Jii7t`%FxaQY18$7(m(JYBkNn0Ba0A=`H^2>W z1Ka>NzzuK%+yFPg4R8ZbpaI(<s3O20bhbozzA%EEg*v%;5xVr{(ctm;79Nk_zc_! zN8lEC9b5zdK10Y~;3x16I0m1BkHLo^0J}g3Rq!gf0=~aO$k*T_5P%j~1lIup58&cA z@B{c3q;8G@zqkQzfE(ZjxB+f}8+aTB1Y9^lNm*cfijc4&B?4|X9k_d?fF=qa1;JtN zK4pr~W3IE4Mii$m^B4qmftgqD#wN{MoOoooGo3s68rIUO#*mqeN_%s+#J{^H5IX#>#4F>Lx zErkKt|z4xq9gT(aT5AjB@2tL)252FZ!^hrdwGMbZa?&fJ{>D#G)`=m zD8exCXdIW2D2k|)1-d@Y!YYDqGuK8cxh%>uD)4L3M={~_b!4Tpww>N=cvj-jhz3q< zg+ZPW6K4le=wkkY)Q1W&-ksBQJO^vQLO*X@OvLs^_CcJr8&9AZq~h5L=8L+bsFe1T zXTbSg-wqr_VAOG8f-)>Up;Th@?$Bj4vg24-JnX0q&9F9fWAZ{L%VCoCd>zFg=iAOY zS8OkGgLJ*;kA;Q*eIP~I!#Yiu(fA#lHJ(=0+x7Jg)mqaVcdVw?(#)D%Ua77u$*Ywm zoUjzKt0c5H+E%N+ZE2hBu4$QCORZIx%QMyLwz}RmHGOkVh}zOSr~OpQORKG^4Bd89 zuQ#%O-q4z=p}nnQG;dBuagKd_ndg*F-pQnLD)MNORKKluwmO=rrf;>Do#~!B1%9fa zh--IrQ(xDcwcR9%@}-uV+*G&C^`_o!SZ1edm}1OsHhZ`Gh diff --git a/db-config/my.cnf b/db-config/my.cnf index a755c3c..6c510a5 100644 --- a/db-config/my.cnf +++ b/db-config/my.cnf @@ -1,7 +1,15 @@ [mysqld] -innodb_buffer_pool_size = 1G -innodb_log_file_size = 256M -innodb_flush_log_at_trx_commit = 2 -innodb_flush_method = O_DIRECT -query_cache_size = 0 -query_cache_type = 0 +# Performance InnoDB +innodb_buffer_pool_size = 2G +innodb_io_capacity = 200 +innodb_io_capacity_max = 400 +innodb_read_io_threads = 4 +innodb_write_io_threads = 4 +innodb_log_file_size = 512M + +# Nextcloud optimizations +transaction-isolation = READ-COMMITTED +binlog_format = ROW + +# Connections +max_connections = 200 diff --git a/docker-compose.yml b/docker-compose.yml index 6bc7fe0..159e568 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,36 +8,50 @@ services: volumes: - ./data:/var/www/html environment: + # Database - MYSQL_HOST=db - - MYSQL_DATABASE=nextcloud + - MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - - NEXTCLOUD_TRUSTED_DOMAINS=cloud.agence66.fr + # Domaine + - NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN} + - TRUSTED_PROXIES=${TRUSTED_PROXIES:-172.16.0.0/12} - OVERWRITEPROTOCOL=https - - OVERWRITEHOST=cloud.agence66.fr - + - OVERWRITEHOST=${NEXTCLOUD_DOMAIN} + - OVERWRITECLIURL=https://${NEXTCLOUD_DOMAIN} + # Redis - REDIS_HOST=${REDIS_HOST} - REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD} - - - PHP_UPLOAD_MAX_FILESIZE=10G - - PHP_MEMORY_LIMIT=2048M - - PHP_MAX_EXECUTION_TIME=360 - - PHP_MAX_INPUT_TIME=360 - - - APACHE_BODY_LIMIT=10737418240 + # PHP + - PHP_MEMORY_LIMIT=4096M + - PHP_UPLOAD_MAX_FILESIZE=2G + - PHP_POST_MAX_SIZE=2G + - PHP_MAX_EXECUTION_TIME=1800 + - PHP_MAX_INPUT_TIME=1800 + # Apache + - APACHE_BODY_LIMIT=2147483648 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost/status.php"] + interval: 30s + timeout: 10s + retries: 3 depends_on: - - db + db: + condition: service_healthy + redis: + condition: service_started networks: - nextcloud-net - traefik-net + redis: image: redis:alpine restart: unless-stopped + command: redis-server --requirepass ${REDIS_HOST_PASSWORD} --maxmemory 512mb --maxmemory-policy allkeys-lru networks: - nextcloud-net - command: redis-server --requirepass ${REDIS_HOST_PASSWORD} - nextcloud-cron: + + cron: image: nextcloud:latest restart: always volumes_from: @@ -46,8 +60,10 @@ services: depends_on: - nextcloud - db + - redis networks: - nextcloud-net + db: image: mariadb:10.11 restart: unless-stopped @@ -59,8 +75,14 @@ services: - MYSQL_DATABASE=nextcloud - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 10s + timeout: 5s + retries: 3 networks: - nextcloud-net + networks: nextcloud-net: driver: bridge