services: nextcloud: image: 'lscr.io/linuxserver/nextcloud:latest' environment: - SERVICE_URL_NEXTCLOUD_80 - PUID=1000 - PGID=1000 - 'TZ=${TZ:-America/Sao_Paulo}' - 'MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud}' - 'MYSQL_USER=${SERVICE_USER_MARIADB}' - 'MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}' - MYSQL_HOST=nextcloud-db - REDIS_HOST=redis - REDIS_PORT=6379 volumes: - 'nextcloud-config:/config' - type: bind source: /shared/nextcloud/data target: /data is_directory: true depends_on: nextcloud-db: condition: service_healthy redis: condition: service_healthy healthcheck: test: - CMD - curl - '-f' - 'http://127.0.0.1:80' interval: 2s timeout: 10s retries: 15 nextcloud-db: image: 'mariadb:11' volumes: - 'nextcloud-mariadb-data:/var/lib/mysql' environment: - 'MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}' - 'MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud}' - 'MYSQL_USER=${SERVICE_USER_MARIADB}' - 'MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}' healthcheck: test: - CMD - healthcheck.sh - '--connect' - '--innodb_initialized' interval: 5s timeout: 20s retries: 10 redis: image: 'redis:7.4-alpine' volumes: - 'nextcloud-redis-data:/data' healthcheck: test: - CMD - redis-cli - PING interval: 5s timeout: 10s retries: 20