Files
nextcloud/docker-compose.yml
2026-03-09 16:35:19 +01:00

80 lines
2.0 KiB
YAML

services:
db:
image: mariadb:11.4
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
TZ: ${TZ}
volumes:
- db_data:/var/lib/mysql
networks:
- nextcloud_internal
redis:
image: redis:7-alpine
container_name: nextcloud-redis
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
networks:
- nextcloud_internal
app:
image: nextcloud:30-apache
container_name: nextcloud-app
restart: unless-stopped
depends_on:
- db
- redis
ports:
- "${NEXTCLOUD_PORT}:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
REDIS_HOST: redis
REDIS_HOST_PASSWORD: ${REDIS_PASSWORD}
NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_DOMAIN}
TRUSTED_PROXIES: ${TRUSTED_PROXY_IP}
OVERWRITEHOST: ${NEXTCLOUD_DOMAIN}
OVERWRITEPROTOCOL: https
OVERWRITECLIURL: https://${NEXTCLOUD_DOMAIN}
PHP_MEMORY_LIMIT: 1024M
PHP_UPLOAD_LIMIT: 20G
TZ: ${TZ}
volumes:
- nextcloud_data:/var/www/html
networks:
- nextcloud_internal
collabora:
image: collabora/code:latest
container_name: collabora
restart: unless-stopped
ports:
- "${COLLABORA_PORT}:9980"
environment:
domain: ${NEXTCLOUD_DOMAIN_REGEX}
username: ${COLLABORA_USERNAME}
password: ${COLLABORA_PASSWORD}
dictionaries: en_US it_IT
extra_params: --o:ssl.enable=false --o:ssl.termination=true --o:welcome.enable=false
TZ: ${TZ}
cap_add:
- MKNOD
networks:
- nextcloud_internal
volumes:
db_data:
nextcloud_data:
networks:
nextcloud_internal:
driver: bridge