Files
nextcloud/docker-compose.yml
T
2025-04-30 15:45:11 +02:00

119 lines
3.6 KiB
YAML

services:
mariadb:
container_name: Nextcloud-DB
image: mariadb:11.4-noble #LTS Long Time Support Until May 29, 2029.
security_opt:
- no-new-privileges:false
command:
- "--transaction-isolation=READ-COMMITTED"
- "--binlog-format=ROW"
- "--innodb-read-only-compressed=OFF"
- "--skip-name-resolve"
- "--innodb_buffer_pool_size=128M"
- "--innodb_buffer_pool_instances=1"
- "--innodb_flush_log_at_trx_commit=2"
- "--innodb_log_file_size=32M"
- "--innodb_max_dirty_pages_pct=90"
- "--query_cache_type=1"
- "--query_cache_size=64M"
- "--query_cache_limit=2M"
- "--query_cache_min_res_unit=2K"
- "--tmp_table_size=64M"
- "--max_heap_table_size=64M"
- "--key_buffer_size=16M"
- "--thread_cache_size=16"
- "--slow_query_log=1"
- "--slow_query_log_file=/var/log/mysql/slow.log"
- "--long_query_time=1"
- "--default-character-set=utf8mb4"
- "--character_set_server=utf8mb4"
- "--collation_server=utf8mb4_general_ci"
- "--innodb_large_prefix=on"
- "--innodb_file_format=barracuda"
- "--innodb_file_per_table=1"
expose:
- 3306
volumes:
- /var/lib/docker/volumes/nextcloud/db:/var/lib/mysql:rw
- /var/lib/docker/volumes/nextcloud/db:/etc/mysql/conf.d:rw
environment:
- DB_HOST=mariadb
- MYSQL_ROOT_PASSWORD=C@ptn&mo
- MYSQL_PASSWORD=C@ptn&mo
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=Europe/Paris
restart: always
networks:
- nextcloud
redis:
image: redis
container_name: Nextcloud-REDIS
hostname: nextcloudredis
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
volumes:
- /var/lib/docker/volumes/nextcloud/redis:/data:rw
environment:
TZ: Europe/Paris
restart: always
networks:
- nextcloud
nextcloud:
container_name: Nextcloud
ports:
- 8082:80
depends_on:
mariadb:
condition: service_started
redis:
condition: service_healthy
environment:
- REDIS_HOST=nextcloudredis
- NEXTCLOUD_ADMIN_USER=thedarty
- NEXTCLOUD_ADMIN_PASSWORD='St&ph@ne10Nove.@1976'
- NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.maison nextcloud.sda.zone dartydisk6.maison
- TRUSTED_PROXIES=dartydisk6.maison
- OVERWRITEHOST=nextcloud.maison
- OVERWRITEPROTOCOL=https
- MYSQL_PASSWORD=C@ptn&mo
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=mariadb
healthcheck:
test: curl -f http://localhost:80/ || exit 1
volumes:
- /var/lib/docker/volumes/nextcloud/html:/var/www/html:rw
- /var/lib/docker/volumes/nextcloud/custom_apps:/var/www/html/custom_apps:rw
- /var/lib/docker/volumes/nextcloud/config:/var/www/html/config:rw
- /var/lib/docker/volumes/nextcloud/data:/var/www/html/data:rw
- /var/lib/docker/volumes/nextcloud/themes:/var/www/html/themes:rw
image: nextcloud
restart: always
networks:
- nextcloud
cron:
image: nextcloud:apache
container_name: Nextcloud-CRON
restart: always
volumes:
- /var/lib/docker/volumes/nextcloud/config:/var/www/html/config:rw
- /var/lib/docker/volumes/nextcloud/html:/var/www/html:rw
- /var/lib/docker/volumes/nextcloud/custom_apps:/var/www/html/custom_apps:rw
- /var/lib/docker/volumes/nextcloud/data:/var/www/html/data:rw
entrypoint: /cron.sh
depends_on:
mariadb:
condition: service_started
redis:
condition: service_started
networks:
- nextcloud
networks:
nextcloud:
name: nextcloud
driver: bridge