version: '3' volumes: files: name: ${CONTAINER_NAME}_files driver: local driver_opts: type: volume o: 'bind' device: "${DATA_VOLUME_ROOT}/data" db: name: ${CONTAINER_NAME}_db driver: local driver_opts: type: volume o: 'bind' device: "${DB_VOLUME_ROOT}" redis: name: ${CONTAINER_NAME}_redis driver: local driver_opts: type: volume o: 'bind' device: "${REDIS_VOLUME_ROOT}" es_index: name: ${CONTAINER_NAME}_es_index driver: local driver_opts: type: volume o: 'bind' device: "${ELASTIC_SEARCH_ROOT}" es_root: name: ${CONTAINER_NAME}_es_root driver: local driver_opts: type: volume o: 'bind' device: "${ELASTIC_SEARCH_ROOT}" oo_data: name: ${CONTAINER_NAME}_oo_data driver: local driver_opts: type: volume o: 'bind' device: "${OO_VOLUME_ROOT}" clamav: name: ${CONTAINER_NAME}_clamav driver: local driver_opts: type: volume o: 'bind' device: "${CLAMAV_ROOT}" ext1: name: ${CONTAINER_NAME}_ext1 driver: local driver_opts: type: volume o: 'bind' device: "${EXT1_ROOT}" vol1: name: ${CONTAINER_NAME}_vol1 driver: local driver_opts: type: volume o: 'bind' device: "${VOL1_ROOT}" services: db: image: mariadb:11.4.2 container_name: ${CONTAINER_NAME}_db command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: "no" volumes: - db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud redis: image: redis:7.2.4-alpine container_name: ${CONTAINER_NAME}_redis restart: "no" volumes: - redis:/var/lib/redis app: image: nextcloud:30.0.4-apache container_name: ${CONTAINER_NAME} ports: - 1234:80 links: - db - redis volumes: - files:/var/www/html - ext1:/var/www/data/ext1 - vol1:/var/www/data/vol1 restart: "no" environment: - REDIS_HOST=redis - REDIS_PASSWORD= - PHP_MEMORY_LIMIT=1G - PHP_UPLOAD_LIMIT=12G cron: image: nextcloud:30.0.4-apache container_name: ${CONTAINER_NAME}_cron links: - db - redis volumes: - files:/var/www/html restart: "no" entrypoint: /cron.sh es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23 container_name: ${CONTAINER_NAME}_es environment: - node.name=es01 - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 volumes: - es_index:/usr/share/elasticsearch/data - es_root:/usr/share/elasticsearch restart: "no" ports: - 9200:9200 av: container_name: ${CONTAINER_NAME}_clamav image: mkodockx/docker-clamav:alpine restart: "no" ports: - 3310:3310 volumes: - clamav:/etc/clamav onlyoffice: container_name: ${CONTAINER_NAME}_onlyoffice image: onlyoffice/documentserver:latest restart: "no" environment: - JWT_SECRET=secret ports: - 9980:80 volumes: - oo_data:/var/www/onlyoffice/Data - oo_data:/var/log/onlyoffice