version: '3' services: app: image: nextcloud:27-fpm-alpine restart: always volumes: - ./nextcloud/custom_apps:/var/www/html/custom_apps - ./nextcloud/web:/var/www/html - ./nextcloud/data:/var/data environment: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_HOST=db - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_HOST_PASSWORD=nextcloud_redis_pass - NEXTCLOUD_DATA_DIR=/var/data - NEXTCLOUD_INIT_HTACCESS=true - PHP_UPLOAD_LIMIT=10240M - PHP_MEMORY_LIMIT=512M links: - db - redis depends_on: - db - redis # environment: # - VIRTUAL_HOST=your.domain.com # - LETSENCRYPT_HOST=your.domain.com # - LETSENCRYPT_EMAIL=your-email@example.com networks: - proxy-tier - nextcloud db: image: mariadb:11.2.2 volumes: - ./nextcloud/mysql:/var/lib/mysql networks: - nextcloud restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW environment: TZ: asia/shanghai MYSQL_ROOT_PASSWORD: supersecretpassword MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_PASSWORD: nextcloud MARIADB_AUTO_UPGRADE: 1 MARIADB_DISABLE_UPGRADE_BACKUP: 1 redis: image: redis:alpine restart: always command: redis-server --requirepass nextcloud_redis_pass networks: - nextcloud web: image: nginx restart: always ports: - 8080:80 links: - app networks: - proxy-tier volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./nextcloud/certs:/etc/certs:ro volumes_from: - app networks: nextcloud: proxy-tier: