--- services: nginx: container_name: nginx-nextcloud build: ./nginx ports: - 80:80 - 443:443 volumes: - ${NEXTCLOUD_DIR}:/var/www/html - ${DATA_DIR}:/data environment: - NEXTCLOUD_PHP_FPM_HOST=${NEXTCLOUD_PHP_FPM_HOST} - NEXTCLOUD_DOMAIN=${NEXTCLOUD_DOMAIN} - NEXTCLOUD_MAX_UPLOAD_SIZE=${NEXTCLOUD_MAX_UPLOAD_SIZE} networks: - nextcloud depends_on: - php-fpm-nextcloud - redis-nextcloud - mariadb-nextcloud php-fpm-nextcloud: container_name: php-fpm-nextcloud build: ./php-fpm volumes: - ${NEXTCLOUD_DIR}:/var/www/html - ${DATA_DIR}:/data networks: - nextcloud mariadb-nextcloud: container_name: mariadb-nextcloud image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - ./mariadb:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASS} - MYSQL_PASSWORD=${MARIADB_PASS} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud networks: - nextcloud redis-nextcloud: container_name: redis-nextcloud # image: redis:latest # keydb is a fork and drop-in replacement for Redis image: eqalpha/keydb restart: unless-stopped networks: - nextcloud networks: nextcloud: driver: bridge