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} APP_URL_PORTAL: ${APP_URL_PORTAL} 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} ENV_EXTENSION: ${ENV_EXTENSION} 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/ - ${ROOT_DIR}/config/appsettings.${ENV_EXTENSION}.json:/app/onlyoffice/config/appsettings.${ENV_EXTENSION}.json - ${ROOT_DIR}/config/apisystem.${ENV_EXTENSION}.json:/app/onlyoffice/config/apisystem.${ENV_EXTENSION}.json 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-api-system: <<: *x-service-base image: "${REPO}/${DOCKER_IMAGE_PREFIX}-api-system:${DOCKER_TAG}" container_name: ${API_SYSTEM_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 # - webhooks-service - onlyoffice-files - onlyoffice-files-services - onlyoffice-people-server - onlyoffice-socket - onlyoffice-studio-notify # - onlyoffice-telegram-service # - onlyoffice-urlshortener - onlyoffice-api - onlyoffice-api-system - 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_API_SYSTEM=${SERVICE_API_SYSTEM} - SERVICE_STUDIO=${SERVICE_STUDIO} - SERVICE_SSOAUTH=${SERVICE_SSOAUTH} - SERVICE_DOCEDITOR=${SERVICE_DOCEDITOR} - SERVICE_LOGIN=${SERVICE_LOGIN} - SERVICE_CLIENT=${SERVICE_CLIENT} - SERVICE_HELTHCHECKS=${SERVICE_HELTHCHECKS} - DOCUMENT_SERVER=${DOCUMENT_SERVER_HOST} - SERVICE_PORT=${SERVICE_PORT} - GIT_BRANCH=${GIT_BRANCH} - ROOT_DIR=${ROOT_DIR} volumes: - proxy_log:/var/log/nginx - ${ROOT_DIR}/public:/var/www/public networks: default: name: ${NETWORK_NAME} external: true volumes: es_data: proxy_log: app_data: files_data: people_data: