services: nextcloud: image: nextcloud:latest container_name: nextcloud restart: unless-stopped ports: - "127.0.0.1:8888:80" volumes: - ./data:/var/www/html environment: - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - NEXTCLOUD_TRUSTED_DOMAINS=cloud.agence66.fr - OVERWRITEPROTOCOL=https - OVERWRITEHOST=cloud.agence66.fr - 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 depends_on: - db networks: - nextcloud-net - traefik-net redis: image: redis:alpine restart: unless-stopped networks: - nextcloud-net command: redis-server --requirepass ${REDIS_HOST_PASSWORD} nextcloud-cron: image: nextcloud:latest restart: always volumes_from: - nextcloud entrypoint: /cron.sh depends_on: - nextcloud - db networks: - nextcloud-net db: image: mariadb:10.11 restart: unless-stopped volumes: - ./db:/var/lib/mysql - ./db-config/my.cnf:/etc/mysql/conf.d/custom.cnf:ro environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_USER} - MYSQL_DATABASE=nextcloud - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} networks: - nextcloud-net networks: nextcloud-net: driver: bridge traefik-net: external: true