refactor docker compose

This commit is contained in:
root
2025-12-14 20:10:07 +01:00
parent ad8f074f87
commit 323a16f287
3 changed files with 51 additions and 21 deletions

Binary file not shown.

View File

@@ -1,7 +1,15 @@
[mysqld] [mysqld]
innodb_buffer_pool_size = 1G # Performance InnoDB
innodb_log_file_size = 256M innodb_buffer_pool_size = 2G
innodb_flush_log_at_trx_commit = 2 innodb_io_capacity = 200
innodb_flush_method = O_DIRECT innodb_io_capacity_max = 400
query_cache_size = 0 innodb_read_io_threads = 4
query_cache_type = 0 innodb_write_io_threads = 4
innodb_log_file_size = 512M
# Nextcloud optimizations
transaction-isolation = READ-COMMITTED
binlog_format = ROW
# Connections
max_connections = 200

View File

@@ -8,36 +8,50 @@ services:
volumes: volumes:
- ./data:/var/www/html - ./data:/var/www/html
environment: environment:
# Database
- MYSQL_HOST=db - MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
- MYSQL_USER=${MYSQL_USER} - MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD}
# Domaine
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.agence66.fr - NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN}
- TRUSTED_PROXIES=${TRUSTED_PROXIES:-172.16.0.0/12}
- OVERWRITEPROTOCOL=https - OVERWRITEPROTOCOL=https
- OVERWRITEHOST=cloud.agence66.fr - OVERWRITEHOST=${NEXTCLOUD_DOMAIN}
- OVERWRITECLIURL=https://${NEXTCLOUD_DOMAIN}
# Redis
- REDIS_HOST=${REDIS_HOST} - REDIS_HOST=${REDIS_HOST}
- REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD} - REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD}
# PHP
- PHP_UPLOAD_MAX_FILESIZE=10G - PHP_MEMORY_LIMIT=4096M
- PHP_MEMORY_LIMIT=2048M - PHP_UPLOAD_MAX_FILESIZE=2G
- PHP_MAX_EXECUTION_TIME=360 - PHP_POST_MAX_SIZE=2G
- PHP_MAX_INPUT_TIME=360 - PHP_MAX_EXECUTION_TIME=1800
- PHP_MAX_INPUT_TIME=1800
- APACHE_BODY_LIMIT=10737418240 # Apache
- APACHE_BODY_LIMIT=2147483648
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/status.php"]
interval: 30s
timeout: 10s
retries: 3
depends_on: depends_on:
- db db:
condition: service_healthy
redis:
condition: service_started
networks: networks:
- nextcloud-net - nextcloud-net
- traefik-net - traefik-net
redis: redis:
image: redis:alpine image: redis:alpine
restart: unless-stopped restart: unless-stopped
command: redis-server --requirepass ${REDIS_HOST_PASSWORD} --maxmemory 512mb --maxmemory-policy allkeys-lru
networks: networks:
- nextcloud-net - nextcloud-net
command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
nextcloud-cron: cron:
image: nextcloud:latest image: nextcloud:latest
restart: always restart: always
volumes_from: volumes_from:
@@ -46,8 +60,10 @@ services:
depends_on: depends_on:
- nextcloud - nextcloud
- db - db
- redis
networks: networks:
- nextcloud-net - nextcloud-net
db: db:
image: mariadb:10.11 image: mariadb:10.11
restart: unless-stopped restart: unless-stopped
@@ -59,8 +75,14 @@ services:
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=nextcloud
- MYSQL_USER=${MYSQL_USER} - MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD}
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 3
networks: networks:
- nextcloud-net - nextcloud-net
networks: networks:
nextcloud-net: nextcloud-net:
driver: bridge driver: bridge