version: '3' services: onlyoffice-mysql-server: container_name: onlyoffice-mysql-server image: mysql:8.0.29 environment: - MYSQL_ROOT_PASSWORD=my-secret-pw networks: - onlyoffice stdin_open: true tty: true restart: always volumes: - ./config/mysql/conf.d:/etc/mysql/conf.d - ./config/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - mysql_data:/var/lib/mysql onlyoffice-community-server: container_name: onlyoffice-community-server image: onlyoffice/communityserver:12.0.1.1748 depends_on: - onlyoffice-mysql-server - onlyoffice-document-server - onlyoffice-mail-server - onlyoffice-elasticsearch environment: - ONLYOFFICE_CORE_MACHINEKEY=core_secret - CONTROL_PANEL_PORT_80_TCP=80 - CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel - DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server - DOCUMENT_SERVER_JWT_ENABLED=true - DOCUMENT_SERVER_JWT_SECRET=jwt_secret - DOCUMENT_SERVER_JWT_HEADER=AuthorizationJwt - MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw - MYSQL_SERVER_DB_NAME=onlyoffice - MYSQL_SERVER_HOST=onlyoffice-mysql-server - MYSQL_SERVER_USER=onlyoffice_user - MYSQL_SERVER_PASS=onlyoffice_pass - MAIL_SERVER_API_PORT=8081 - MAIL_SERVER_API_HOST=onlyoffice-mail-server - MAIL_SERVER_DB_HOST=onlyoffice-mysql-server - MAIL_SERVER_DB_PORT=3306 - MAIL_SERVER_DB_NAME=onlyoffice_mailserver - MAIL_SERVER_DB_USER=mail_admin - MAIL_SERVER_DB_PASS=Isadmin123 - ELASTICSEARCH_SERVER_HOST=onlyoffice-elasticsearch - ELASTICSEARCH_SERVER_HTTPPORT=9200 networks: - onlyoffice ports: - '80:80' - '443:443' - '5222:5222' stdin_open: true tty: true restart: always privileged: true # cgroup: host volumes: - community_data:/var/www/onlyoffice/Data - community_log:/var/log/onlyoffice - community_letsencrypt:/etc/letsencrypt - document_data:/var/www/onlyoffice/DocumentServerData - /sys/fs/cgroup:/sys/fs/cgroup:rw - ./certs:/var/www/onlyoffice/Data/certs onlyoffice-elasticsearch: image: onlyoffice/elasticsearch:7.16.3 container_name: onlyoffice-elasticsearch restart: always environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true" - "indices.fielddata.cache.size=30%" - "indices.memory.index_buffer_size=30%" - "ingest.geoip.downloader.enabled=false" networks: - onlyoffice ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65535 hard: 65535 volumes: - es_data:/usr/share/elasticsearch/data expose: - "9200" - "9300" onlyoffice-document-server: container_name: onlyoffice-document-server image: onlyoffice/documentserver:7.1.1.23 stdin_open: true tty: true restart: always environment: - JWT_ENABLED=true - JWT_SECRET=jwt_secret - JWT_HEADER=AuthorizationJwt networks: - onlyoffice expose: - '80' - '443' volumes: - document_data:/var/www/onlyoffice/Data - document_log:/var/log/onlyoffice - ./document_fonts:/usr/share/fonts/truetype/custom - document_forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten onlyoffice-mail-server: container_name: onlyoffice-mail-server image: onlyoffice/mailserver:1.6.75 depends_on: - onlyoffice-mysql-server hostname: ${MAIL_SERVER_HOSTNAME} environment: - MYSQL_SERVER=onlyoffice-mysql-server - MYSQL_SERVER_PORT=3306 - MYSQL_ROOT_USER=mail_admin - MYSQL_ROOT_PASSWD=Isadmin123 - MYSQL_SERVER_DB_NAME=onlyoffice_mailserver networks: - onlyoffice restart: always privileged: true ports: ['25:25','143:143','587:587'] stdin_open: true tty: true expose: - '8081' - '3306' volumes: - mail_data:/var/vmail - mail_certs:/etc/pki/tls/mailserver - mail_log:/var/log onlyoffice-control-panel: container_name: onlyoffice-control-panel depends_on: - onlyoffice-document-server - onlyoffice-mail-server - onlyoffice-community-server image: onlyoffice/controlpanel:3.1.1.467 environment: - ONLYOFFICE_CORE_MACHINEKEY=core_secret expose: - '80' - '443' restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - controlpanel_data:/var/www/onlyoffice/Data - controlpanel_log:/var/log/onlyoffice networks: - onlyoffice stdin_open: true tty: true networks: onlyoffice: driver: 'bridge' volumes: mail_data: mail_certs: mail_log: mail_mysql: document_data: document_log: document_forgotten: community_mysql: community_data: community_log: community_letsencrypt: controlpanel_data: controlpanel_log: mysql_data: es_data: