version: "3.8" services: web: image: nginx:stable-alpine container_name: nextcloud-web ports: - "80:80" links: - nextcloud volumes: - ./data:/var/www/html:z,ro - ./nginx.conf:/etc/nginx/nginx.conf:ro restart: unless-stopped db: image: mariadb:10.11 container_name: nextcloud-db command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - ./db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD - MYSQL_USER - MYSQL_PASSWORD - MYSQL_DATABASE restart: unless-stopped redis: image: redis:alpine container_name: nextcloud-redis restart: unless-stopped nextcloud: image: nextcloud:stable-fpm-alpine container_name: nextcloud-app volumes: - ./data:/var/www/html:z - ./php-fpm-www.conf:/usr/local/etc/php-fpm.d/www.conf:ro environment: - MYSQL_USER - MYSQL_PASSWORD - MYSQL_DATABASE - MYSQL_HOST - REDIS_HOST - OVERWRITEPROTOCOL - OVERWRITEHOST - TRUSTED_PROXIES - APACHE_DISABLE_REWRITE_IP restart: unless-stopped depends_on: - db - redis onlyoffice: container_name: nextcloud-onlyoffice image: onlyoffice/documentserver:latest restart: unless-stopped environment: - JWT_SECRET volumes: - ./onlyoffice_data:/var/www/onlyoffice/Data - ./onlyoffice_log:/var/log/onlyoffice