version: '3' services: db: image: mariadb:latest command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_ALLOW_EMPTY_PASSWORD=yes - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud networks: - nextcloud redis: image: redis:alpine restart: always volumes: - redis_data:/data networks: - nextcloud app: image: nextcloud:fpm-alpine restart: always volumes: - nextcloud:/var/www/html environment: - MYSQL_HOST=db - REDIS_HOST=redis - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud depends_on: - db - redis networks: - nextcloud cron: image: nextcloud:fpm-alpine restart: always volumes: - nextcloud:/var/www/html entrypoint: /cron.sh environment: - MYSQL_HOST=db - REDIS_HOST=redis - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud depends_on: - db - redis networks: - nextcloud web: image: nginx:alpine restart: always ports: - 80:80 volumes: - nextcloud:/var/www/html:ro - nginx_conf:/etc/nginx/conf.d depends_on: - app networks: - nextcloud onlyoffice: image: onlyoffice/documentserver:latest restart: always ports: - 8088:80 volumes: - onlyoffice_data:/var/www/onlyoffice/Data - onlyoffice_etc:/etc/onlyoffice - onlyoffice_fonts:/usr/share/fonts/truetype/custom - onlyoffice_lib:/var/lib/onlyoffice - onlyoffice_db:/var/lib/postgresql - onlyoffice_log:/var/log/onlyoffice networks: - nextcloud volumes: nextcloud: db: nginx_conf: redis_data: onlyoffice_data: onlyoffice_etc: onlyoffice_fonts: onlyoffice_lib: onlyoffice_db: onlyoffice_log: networks: nextcloud: