version: "3.8" x-service: &x-service-base container_name: base restart: always expose: - ${SERVICE_PORT} environment: MYSQL_HOST: ${MYSQL_HOST} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} DATABASE_MIGRATION: ${DATABASE_MIGRATION} APP_DOTNET_ENV: ${APP_DOTNET_ENV} APP_CORE_BASE_DOMAIN: ${APP_CORE_BASE_DOMAIN} APP_CORE_MACHINEKEY: ${APP_CORE_MACHINEKEY} DOCUMENT_SERVER_JWT_SECRET: ${DOCUMENT_SERVER_JWT_SECRET} DOCUMENT_SERVER_JWT_HEADER: ${DOCUMENT_SERVER_JWT_HEADER} DOCUMENT_SERVER_URL_PUBLIC: ${DOCUMENT_SERVER_URL_PUBLIC} DOCUMENT_SERVER_URL_INTERNAL: ${DOCUMENT_SERVER_URL_INTERNAL} KAFKA_HOST: ${KAFKA_HOST} ELK_HOST: ${ELK_HOST} PROXY_HOST: ${PROXY_HOST} volumes: #- /app/onlyoffice/CommunityServer/data:/app/onlyoffice/data - app_data:/app/onlyoffice/data - files_data:/var/www/products/ASC.Files/server/ - people_data:/var/www/products/ASC.People/server/ services: onlyoffice-elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION} container_name: ${ELK_HOST} restart: always environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65535 hard: 65535 volumes: - es_data:/usr/share/elasticsearch/data expose: - "9200" - "9300" onlyoffice-backup-background-tasks: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup-background:${DOCKER_TAG}" container_name: ${BACKUP_BACKGRUOND_TASKS_HOST} onlyoffice-backup: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-backup:${DOCKER_TAG}" container_name: ${BACKUP_HOST} onlyoffice-clear-events: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-clear-events:${DOCKER_TAG}" container_name: ${CLEAR_EVENTS_HOST} onlyoffice-migration: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-migration:${DOCKER_TAG}" container_name: ${MIGRATION_HOST} onlyoffice-files: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files:${DOCKER_TAG}" container_name: ${FILES_HOST} onlyoffice-files-services: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-files-services:${DOCKER_TAG}" container_name: ${FILES_SERVICES_HOST} onlyoffice-people-server: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-people-server:${DOCKER_TAG}" container_name: ${PEOPLE_SERVER_HOST} onlyoffice-socket: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-socket:${DOCKER_TAG}" container_name: ${SOCKET_HOST} expose: - ${SERVICE_PORT} onlyoffice-studio-notify: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio-notify:${DOCKER_TAG}" container_name: ${STUDIO_NOTIFY_HOST} onlyoffice-telegram-service: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-telegram-service:${DOCKER_TAG}" container_name: ${TELEGRAM_SERVICE_HOST} onlyoffice-urlshortener: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-urlshortener:${DOCKER_TAG}" container_name: ${URLSHORTENER_HOST} expose: - ${SERVICE_PORT} - "9999" onlyoffice-api: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-api:${DOCKER_TAG}" container_name: ${API_HOST} onlyoffice-studio: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-studio:${DOCKER_TAG}" container_name: ${STUDIO_HOST} onlyoffice-ssoauth: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-ssoauth:${DOCKER_TAG}" container_name: ${SSOAUTH_HOST} expose: - ${SERVICE_PORT} - "9834" onlyoffice-webhooks-service: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-webhooks-service:${DOCKER_TAG}" container_name: ${WEBHOOKS_SERVICE_HOST} onlyoffice-proxy: image: "${REPO}/${DOCKER_IMAGE_PREFIX}-proxy:${DOCKER_TAG}" container_name: ${PROXY_HOST} restart: always expose: - "8081" - "8099" - "8092" ports: - 8092:8092 depends_on: - onlyoffice-backup-background-tasks - onlyoffice-backup - onlyoffice-clear-events - onlyoffice-migration - onlyoffice-webhooks-service - onlyoffice-files - onlyoffice-files-services - onlyoffice-people-server - onlyoffice-socket - onlyoffice-studio-notify - onlyoffice-telegram-service - onlyoffice-urlshortener - onlyoffice-api - onlyoffice-studio - onlyoffice-ssoauth environment: - SERVICE_BACKUP=${SERVICE_BACKUP} - SERVICE_FILES=${SERVICE_FILES} - SERVICE_FILES_SERVICES=${SERVICE_FILES_SERVICES} - SERVICE_CLEAR_EVENTS=${SERVICE_CLEAR_EVENTS} - SERVICE_MIGRATION=${SERVICE_MIGRATION} - SERVICE_WEBHOOKS_SERVICE=${SERVICE_WEBHOOKS_SERVICE} - SERVICE_NOTIFY=${SERVICE_NOTIFY} - SERVICE_PEOPLE_SERVER=${SERVICE_PEOPLE_SERVER} - SERVICE_SOCKET=${SERVICE_SOCKET} - SERVICE_STUDIO_NOTIFY=${SERVICE_STUDIO_NOTIFY} - SERVICE_TELEGRAM_SERVICE=${SERVICE_TELEGRAM_SERVICE} - SERVICE_URLSHORTENER=${SERVICE_URLSHORTENER} - SERVICE_API=${SERVICE_API} - SERVICE_STUDIO=${SERVICE_STUDIO} - SERVICE_SSOAUTH=${SERVICE_SSOAUTH} - SERVICE_DOCEDITOR=${SERVICE_DOCEDITOR} - SERVICE_LOGIN=${SERVICE_LOGIN} - SERVICE_CLIENT=${SERVICE_CLIENT} - DOCUMENT_SERVER=${DOCUMENT_SERVER_HOST} - SERVICE_PORT=${SERVICE_PORT} - GIT_BRANCH=${GIT_BRANCH} volumes: - proxy_log:/var/log/nginx - ${ROOT_DIR}/public:/var/www/public networks: default: external: name: ${NETWORK_NAME} volumes: es_data: proxy_log: app_data: files_data: people_data: