Files
runtipi/apps/docspace/docker-compose.json

726 lines
33 KiB
JSON

{
"schemaVersion": 2,
"$schema": "https://schemas.runtipi.io/dynamic-compose.json",
"services": [
{
"name": "docspace-mysql",
"image": "mysql:8.3.0",
"capAdd": ["SYS_NICE"],
"user": "mysql",
"environment": [
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${DOCSPACE_MYSQL_ROOT_PASSWORD}" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/mysql",
"containerPath": "/var/lib/mysql"
}
],
"healthCheck": {
"test": "mysql -u onlyoffice_user --password=${DOCSPACE_MYSQL_PASSWORD} -e ';'",
"interval": "10s",
"timeout": "5s",
"retries": 5
}
},
{
"name": "docspace-redis",
"image": "redis:7",
"healthCheck": {
"test": "redis-cli ping",
"interval": "10s",
"timeout": "10s",
"retries": 3
}
},
{
"name": "docspace-rabbitmq",
"image": "rabbitmq:3",
"environment": [
{ "key": "RABBITMQ_DEFAULT_USER", "value": "guest" },
{ "key": "RABBITMQ_DEFAULT_PASS", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" }
],
"healthCheck": {
"test": "rabbitmq-diagnostics status",
"interval": "10s",
"timeout": "10s",
"retries": 5
}
},
{
"name": "docspace-opensearch",
"image": "onlyoffice/opensearch:2.18.0",
"environment": [
{ "key": "discovery.type", "value": "single-node" },
{ "key": "bootstrap.memory_lock", "value": "true" },
{ "key": "OPENSEARCH_JAVA_OPTS", "value": "-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true" },
{ "key": "indices.fielddata.cache.size", "value": "30%" },
{ "key": "indices.memory.index_buffer_size", "value": "30%" },
{ "key": "DISABLE_INSTALL_DEMO_CONFIG", "value": "true" },
{ "key": "DISABLE_SECURITY_PLUGIN", "value": "true" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/opensearch",
"containerPath": "/usr/share/opensearch/data"
}
],
"ulimits": {
"memlock": { "soft": -1, "hard": -1 },
"nofile": { "soft": 65536, "hard": 65536 }
},
"healthCheck": {
"test": "curl -f http://localhost:9200/_cluster/health?pretty",
"interval": "30s",
"timeout": "10s",
"retries": 5
}
},
{
"name": "docspace-document-server",
"image": "onlyoffice/documentserver:latest",
"environment": [
{ "key": "JWT_ENABLED", "value": "true" },
{ "key": "JWT_SECRET", "value": "${DOCSPACE_JWT_SECRET}" },
{ "key": "JWT_HEADER", "value": "AuthorizationJwt" },
{ "key": "JWT_IN_BODY", "value": "true" },
{ "key": "AMQP_URI", "value": "amqp://guest:${DOCSPACE_RABBITMQ_PASSWORD}@docspace-rabbitmq:5672/" },
{ "key": "REDIS_SERVER_HOST", "value": "docspace-redis" },
{ "key": "REDIS_SERVER_PORT", "value": "6379" },
{ "key": "REDIS_SERVER_USER", "value": "" },
{ "key": "REDIS_SERVER_PASS", "value": "" },
{ "key": "REDIS_SERVER_DB", "value": "0" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/ds-app",
"containerPath": "/var/www/onlyoffice/Data"
},
{
"hostPath": "${APP_DATA_DIR}/data/ds-log",
"containerPath": "/var/log/onlyoffice"
},
{
"hostPath": "${APP_DATA_DIR}/data/ds-fonts",
"containerPath": "/usr/share/fonts"
}
],
"healthCheck": {
"test": "curl -f http://localhost:8000/info/info.json",
"interval": "30s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" }
}
},
{
"name": "docspace-migration-runner",
"image": "onlyoffice/docspace-migration-runner:latest",
"environment": [
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" }
],
"dependsOn": {
"docspace-mysql": { "condition": "service_healthy" }
}
},
{
"name": "docspace-dotnet",
"image": "onlyoffice/docspace-dotnet:latest",
"user": "root:root",
"environment": [
{ "key": "APP_CORE_BASE_DOMAIN", "value": "${DOCSPACE_DOMAIN:-localhost}" },
{ "key": "APP_CORE_MACHINEKEY", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "APP_CORE_SERVER_ROOT", "value": "" },
{ "key": "APP_KNOWN_NETWORKS", "value": "" },
{ "key": "APP_KNOWN_PROXIES", "value": "" },
{ "key": "APP_URL_PORTAL", "value": "http://docspace-router:8092" },
{ "key": "CERTIFICATE_PATH", "value": "" },
{ "key": "DEBUG_INFO", "value": "false" },
{ "key": "DOCUMENT_CONTAINER_NAME", "value": "docspace-document-server" },
{ "key": "DOCUMENT_SERVER_JWT_HEADER", "value": "AuthorizationJwt" },
{ "key": "DOCUMENT_SERVER_JWT_SECRET", "value": "${DOCSPACE_JWT_SECRET}" },
{ "key": "DOCUMENT_SERVER_URL_EXTERNAL", "value": "" },
{ "key": "DOCUMENT_SERVER_URL_PUBLIC", "value": "/ds-vpath/" },
{ "key": "ELK_HOST", "value": "docspace-opensearch" },
{ "key": "ELK_PORT", "value": "9200" },
{ "key": "ELK_SCHEME", "value": "http" },
{ "key": "IDENTITY_API_SERVER_PORT", "value": "9090" },
{ "key": "IDENTITY_AUTHORIZATION_SERVER_PORT", "value": "8080" },
{ "key": "INSTALLATION_TYPE", "value": "COMMUNITY" },
{ "key": "JDBC_DATABASE", "value": "docspace" },
{ "key": "JDBC_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "JDBC_URL", "value": "docspace-mysql" },
{ "key": "JDBC_USER_NAME", "value": "onlyoffice_user" },
{ "key": "LOG_LEVEL", "value": "Warning" },
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${DOCSPACE_MYSQL_ROOT_PASSWORD}" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "NODE_CONTAINER_NAME", "value": "docspace-node" },
{ "key": "NODE_OPTIONS", "value": "--max_old_space_size=4096" },
{ "key": "OAUTH_REDIRECT_URL", "value": "https://service.onlyoffice.com/oauth2.aspx" },
{ "key": "RABBIT_HOST", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "RABBIT_PORT", "value": "5672" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "REDIS_DB", "value": "0" },
{ "key": "REDIS_HOST", "value": "docspace-redis" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "ROUTER_HOST", "value": "docspace-router" },
{ "key": "SERVICE_AI_PORT", "value": "5157" },
{ "key": "SERVICE_AI_SERVICE_PORT", "value": "5124" },
{ "key": "SERVICE_API_PORT", "value": "5000" },
{ "key": "SERVICE_API_SYSTEM_PORT", "value": "5010" },
{ "key": "SERVICE_BACKUP_BACKGRUOND_TASKS_PORT", "value": "5032" },
{ "key": "SERVICE_BACKUP_PORT", "value": "5012" },
{ "key": "SERVICE_CLEAR_EVENTS_PORT", "value": "5027" },
{ "key": "SERVICE_DOCEDITOR_PORT", "value": "5013" },
{ "key": "SERVICE_FILES_PORT", "value": "5007" },
{ "key": "SERVICE_FILES_SERVICES_PORT", "value": "5009" },
{ "key": "SERVICE_HEALTHCHECKS_PORT", "value": "5033" },
{ "key": "SERVICE_LOGIN_PORT", "value": "5011" },
{ "key": "SERVICE_MANAGEMENT_PORT", "value": "5015" },
{ "key": "SERVICE_NOTIFY_PORT", "value": "5005" },
{ "key": "SERVICE_PEOPLE_SERVER_PORT", "value": "5004" },
{ "key": "SERVICE_SDK_PORT", "value": "5099" },
{ "key": "SERVICE_SOCKET_PORT", "value": "9899" },
{ "key": "SERVICE_SSOAUTH_PORT", "value": "9834" },
{ "key": "SERVICE_STUDIO_NOTIFY_PORT", "value": "5006" },
{ "key": "SERVICE_STUDIO_PORT", "value": "5003" },
{ "key": "SERVICE_TELEGRAM_PORT", "value": "5075" },
{ "key": "SPRING_APPLICATION_ENCRYPTION_SECRET", "value": "${DOCSPACE_IDENTITY_SECRET}" },
{ "key": "SPRING_APPLICATION_SIGNATURE_SECRET", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "SPRING_PROFILES_ACTIVE", "value": "dev,server" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/app",
"containerPath": "/app/onlyoffice/data"
},
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "supervisorctl status | grep -v 'ASC.Migration.Runner' | grep -qv RUNNING && exit 1 || exit 0",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" },
"docspace-opensearch": { "condition": "service_healthy" }
}
},
{
"name": "docspace-java",
"image": "onlyoffice/docspace-java:latest",
"user": "root:root",
"environment": [
{ "key": "APP_CORE_BASE_DOMAIN", "value": "${DOCSPACE_DOMAIN:-localhost}" },
{ "key": "APP_CORE_MACHINEKEY", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "APP_CORE_SERVER_ROOT", "value": "" },
{ "key": "APP_KNOWN_NETWORKS", "value": "" },
{ "key": "APP_KNOWN_PROXIES", "value": "" },
{ "key": "APP_URL_PORTAL", "value": "http://docspace-router:8092" },
{ "key": "CERTIFICATE_PATH", "value": "" },
{ "key": "DEBUG_INFO", "value": "false" },
{ "key": "DOCUMENT_CONTAINER_NAME", "value": "docspace-document-server" },
{ "key": "DOCUMENT_SERVER_JWT_HEADER", "value": "AuthorizationJwt" },
{ "key": "DOCUMENT_SERVER_JWT_SECRET", "value": "${DOCSPACE_JWT_SECRET}" },
{ "key": "DOCUMENT_SERVER_URL_EXTERNAL", "value": "" },
{ "key": "DOCUMENT_SERVER_URL_PUBLIC", "value": "/ds-vpath/" },
{ "key": "ELK_HOST", "value": "docspace-opensearch" },
{ "key": "ELK_PORT", "value": "9200" },
{ "key": "ELK_SCHEME", "value": "http" },
{ "key": "IDENTITY_API_SERVER_PORT", "value": "9090" },
{ "key": "IDENTITY_AUTHORIZATION_SERVER_PORT", "value": "8080" },
{ "key": "INSTALLATION_TYPE", "value": "COMMUNITY" },
{ "key": "JDBC_DATABASE", "value": "docspace" },
{ "key": "JDBC_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "JDBC_URL", "value": "docspace-mysql" },
{ "key": "JDBC_USER_NAME", "value": "onlyoffice_user" },
{ "key": "LOG_LEVEL", "value": "Warning" },
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${DOCSPACE_MYSQL_ROOT_PASSWORD}" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "NODE_CONTAINER_NAME", "value": "docspace-node" },
{ "key": "NODE_OPTIONS", "value": "--max_old_space_size=4096" },
{ "key": "OAUTH_REDIRECT_URL", "value": "https://service.onlyoffice.com/oauth2.aspx" },
{ "key": "RABBIT_HOST", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "RABBIT_PORT", "value": "5672" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "REDIS_DB", "value": "0" },
{ "key": "REDIS_HOST", "value": "docspace-redis" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "ROUTER_HOST", "value": "docspace-router" },
{ "key": "SERVICE_AI_PORT", "value": "5157" },
{ "key": "SERVICE_AI_SERVICE_PORT", "value": "5124" },
{ "key": "SERVICE_API_PORT", "value": "5000" },
{ "key": "SERVICE_API_SYSTEM_PORT", "value": "5010" },
{ "key": "SERVICE_BACKUP_BACKGRUOND_TASKS_PORT", "value": "5032" },
{ "key": "SERVICE_BACKUP_PORT", "value": "5012" },
{ "key": "SERVICE_CLEAR_EVENTS_PORT", "value": "5027" },
{ "key": "SERVICE_DOCEDITOR_PORT", "value": "5013" },
{ "key": "SERVICE_FILES_PORT", "value": "5007" },
{ "key": "SERVICE_FILES_SERVICES_PORT", "value": "5009" },
{ "key": "SERVICE_HEALTHCHECKS_PORT", "value": "5033" },
{ "key": "SERVICE_LOGIN_PORT", "value": "5011" },
{ "key": "SERVICE_MANAGEMENT_PORT", "value": "5015" },
{ "key": "SERVICE_NOTIFY_PORT", "value": "5005" },
{ "key": "SERVICE_PEOPLE_SERVER_PORT", "value": "5004" },
{ "key": "SERVICE_SDK_PORT", "value": "5099" },
{ "key": "SERVICE_SOCKET_PORT", "value": "9899" },
{ "key": "SERVICE_SSOAUTH_PORT", "value": "9834" },
{ "key": "SERVICE_STUDIO_NOTIFY_PORT", "value": "5006" },
{ "key": "SERVICE_STUDIO_PORT", "value": "5003" },
{ "key": "SERVICE_TELEGRAM_PORT", "value": "5075" },
{ "key": "SPRING_APPLICATION_ENCRYPTION_SECRET", "value": "${DOCSPACE_IDENTITY_SECRET}" },
{ "key": "SPRING_APPLICATION_SIGNATURE_SECRET", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "SPRING_PROFILES_ACTIVE", "value": "dev,server" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/app",
"containerPath": "/app/onlyoffice/data"
},
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "supervisorctl status | grep -v 'ASC.Migration.Runner' | grep -qv RUNNING && exit 1 || exit 0",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" },
"docspace-opensearch": { "condition": "service_healthy" }
}
},
{
"name": "docspace-node",
"image": "onlyoffice/docspace-node:latest",
"user": "root:root",
"environment": [
{ "key": "APP_CORE_BASE_DOMAIN", "value": "${DOCSPACE_DOMAIN:-localhost}" },
{ "key": "APP_CORE_MACHINEKEY", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "APP_CORE_SERVER_ROOT", "value": "" },
{ "key": "APP_KNOWN_NETWORKS", "value": "" },
{ "key": "APP_KNOWN_PROXIES", "value": "" },
{ "key": "APP_URL_PORTAL", "value": "http://docspace-router:8092" },
{ "key": "CERTIFICATE_PATH", "value": "" },
{ "key": "DEBUG_INFO", "value": "false" },
{ "key": "DOCUMENT_CONTAINER_NAME", "value": "docspace-document-server" },
{ "key": "DOCUMENT_SERVER_JWT_HEADER", "value": "AuthorizationJwt" },
{ "key": "DOCUMENT_SERVER_JWT_SECRET", "value": "${DOCSPACE_JWT_SECRET}" },
{ "key": "DOCUMENT_SERVER_URL_EXTERNAL", "value": "" },
{ "key": "DOCUMENT_SERVER_URL_PUBLIC", "value": "/ds-vpath/" },
{ "key": "ELK_HOST", "value": "docspace-opensearch" },
{ "key": "ELK_PORT", "value": "9200" },
{ "key": "ELK_SCHEME", "value": "http" },
{ "key": "IDENTITY_API_SERVER_PORT", "value": "9090" },
{ "key": "IDENTITY_AUTHORIZATION_SERVER_PORT", "value": "8080" },
{ "key": "INSTALLATION_TYPE", "value": "COMMUNITY" },
{ "key": "JDBC_DATABASE", "value": "docspace" },
{ "key": "JDBC_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "JDBC_URL", "value": "docspace-mysql" },
{ "key": "JDBC_USER_NAME", "value": "onlyoffice_user" },
{ "key": "LOG_LEVEL", "value": "Warning" },
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${DOCSPACE_MYSQL_ROOT_PASSWORD}" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "NODE_CONTAINER_NAME", "value": "docspace-node" },
{ "key": "NODE_OPTIONS", "value": "--max_old_space_size=4096" },
{ "key": "OAUTH_REDIRECT_URL", "value": "https://service.onlyoffice.com/oauth2.aspx" },
{ "key": "RABBIT_HOST", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "RABBIT_PORT", "value": "5672" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "REDIS_DB", "value": "0" },
{ "key": "REDIS_HOST", "value": "docspace-redis" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "ROUTER_HOST", "value": "docspace-router" },
{ "key": "SERVICE_AI_PORT", "value": "5157" },
{ "key": "SERVICE_AI_SERVICE_PORT", "value": "5124" },
{ "key": "SERVICE_API_PORT", "value": "5000" },
{ "key": "SERVICE_API_SYSTEM_PORT", "value": "5010" },
{ "key": "SERVICE_BACKUP_BACKGRUOND_TASKS_PORT", "value": "5032" },
{ "key": "SERVICE_BACKUP_PORT", "value": "5012" },
{ "key": "SERVICE_CLEAR_EVENTS_PORT", "value": "5027" },
{ "key": "SERVICE_DOCEDITOR_PORT", "value": "5013" },
{ "key": "SERVICE_FILES_PORT", "value": "5007" },
{ "key": "SERVICE_FILES_SERVICES_PORT", "value": "5009" },
{ "key": "SERVICE_HEALTHCHECKS_PORT", "value": "5033" },
{ "key": "SERVICE_LOGIN_PORT", "value": "5011" },
{ "key": "SERVICE_MANAGEMENT_PORT", "value": "5015" },
{ "key": "SERVICE_NOTIFY_PORT", "value": "5005" },
{ "key": "SERVICE_PEOPLE_SERVER_PORT", "value": "5004" },
{ "key": "SERVICE_SDK_PORT", "value": "5099" },
{ "key": "SERVICE_SOCKET_PORT", "value": "9899" },
{ "key": "SERVICE_SSOAUTH_PORT", "value": "9834" },
{ "key": "SERVICE_STUDIO_NOTIFY_PORT", "value": "5006" },
{ "key": "SERVICE_STUDIO_PORT", "value": "5003" },
{ "key": "SERVICE_TELEGRAM_PORT", "value": "5075" },
{ "key": "SPRING_APPLICATION_ENCRYPTION_SECRET", "value": "${DOCSPACE_IDENTITY_SECRET}" },
{ "key": "SPRING_APPLICATION_SIGNATURE_SECRET", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "SPRING_PROFILES_ACTIVE", "value": "dev,server" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/app",
"containerPath": "/app/onlyoffice/data"
},
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "supervisorctl status | grep -v 'ASC.Migration.Runner' | grep -qv RUNNING && exit 1 || exit 0",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" },
"docspace-opensearch": { "condition": "service_healthy" }
}
},
{
"name": "docspace-router",
"image": "onlyoffice/docspace-router:latest",
"user": "root:root",
"environment": [
{ "key": "DASHBOARDS_CONTAINER_NAME", "value": "" },
{ "key": "DASHBOARDS_PASSWORD", "value": "" },
{ "key": "DASHBOARDS_USERNAME", "value": "" },
{ "key": "DOCUMENT_CONTAINER_NAME", "value": "docspace-document-server" },
{ "key": "DOCUMENT_SERVER_URL_EXTERNAL", "value": "" },
{ "key": "REDIS_CONTAINER_NAME", "value": "docspace-redis" },
{ "key": "REDIS_DB", "value": "0" },
{ "key": "REDIS_HOST", "value": "" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "SERVICE_AI", "value": "docspace-dotnet:5157" },
{ "key": "SERVICE_AI_SERVICE", "value": "docspace-dotnet:5124" },
{ "key": "SERVICE_API", "value": "docspace-dotnet:5000" },
{ "key": "SERVICE_API_SYSTEM", "value": "docspace-dotnet:5010" },
{ "key": "SERVICE_BACKUP", "value": "docspace-dotnet:5012" },
{ "key": "SERVICE_CLEAR_EVENTS", "value": "docspace-dotnet:5027" },
{ "key": "SERVICE_DOCEDITOR", "value": "docspace-node:5013" },
{ "key": "SERVICE_FILES", "value": "docspace-dotnet:5007" },
{ "key": "SERVICE_FILES_SERVICES", "value": "docspace-dotnet:5009" },
{ "key": "SERVICE_HEALTHCHECKS", "value": "docspace-dotnet:5033" },
{ "key": "SERVICE_IDENTITY", "value": "docspace-java:8080" },
{ "key": "SERVICE_IDENTITY_API", "value": "docspace-java:9090" },
{ "key": "SERVICE_LOGIN", "value": "docspace-node:5011" },
{ "key": "SERVICE_MANAGEMENT", "value": "docspace-node:5015" },
{ "key": "SERVICE_NOTIFY", "value": "docspace-dotnet:5005" },
{ "key": "SERVICE_PORT", "value": "5050" },
{ "key": "SERVICE_PEOPLE_SERVER", "value": "docspace-dotnet:5004" },
{ "key": "SERVICE_SDK", "value": "docspace-node:5099" },
{ "key": "SERVICE_SOCKET", "value": "docspace-node:9899" },
{ "key": "SERVICE_SSOAUTH", "value": "docspace-node:9834" },
{ "key": "SERVICE_STUDIO", "value": "docspace-dotnet:5003" },
{ "key": "SERVICE_STUDIO_NOTIFY", "value": "docspace-dotnet:5006" },
{ "key": "SERVICE_TELEGRAM", "value": "docspace-dotnet:5075" },
{ "key": "WRONG_PORTAL_NAME_URL", "value": "" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "nginx -t || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-dotnet": { "condition": "service_healthy" },
"docspace-java": { "condition": "service_healthy" },
"docspace-node": { "condition": "service_healthy" }
}
},
{
"name": "docspace-identity-authorization",
"image": "onlyoffice/docspace-identity-authorization:latest",
"user": "root:root",
"environment": [
{ "key": "SPRING_PROFILES_ACTIVE", "value": "dev,server" },
{ "key": "SPRING_APPLICATION_SIGNATURE_SECRET", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "SPRING_APPLICATION_ENCRYPTION_SECRET", "value": "${DOCSPACE_IDENTITY_SECRET}" },
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "RABBIT_CONTAINER_NAME", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_HOST", "value": "" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "REDIS_HOST", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_CONTAINER_NAME", "value": "docspace-redis" },
{ "key": "SERVER_PORT", "value": "8080" },
{ "key": "GRPC_CLIENT_REGISTRATION_ADDRESS", "value": "static://docspace-identity-api:8888" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "curl --fail http://docspace-identity-authorization:8080/health/ || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" }
}
},
{
"name": "docspace-identity-api",
"image": "onlyoffice/docspace-identity-api:latest",
"user": "root:root",
"environment": [
{ "key": "SPRING_PROFILES_ACTIVE", "value": "dev,server" },
{ "key": "SPRING_APPLICATION_SIGNATURE_SECRET", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "SPRING_APPLICATION_ENCRYPTION_SECRET", "value": "${DOCSPACE_IDENTITY_SECRET}" },
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "RABBIT_CONTAINER_NAME", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_HOST", "value": "" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "REDIS_HOST", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "REDIS_CONTAINER_NAME", "value": "docspace-redis" },
{ "key": "SERVER_PORT", "value": "9090" },
{ "key": "GRPC_CLIENT_AUTHORIZATION_ADDRESS", "value": "static://docspace-identity-authorization:9999" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "curl --fail http://docspace-identity-api:9090/health/ || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" }
}
},
{
"name": "docspace-notify",
"image": "onlyoffice/docspace-notify:latest",
"environment": [
{ "key": "MYSQL_CONTAINER_NAME", "value": "docspace-mysql" },
{ "key": "MYSQL_HOST", "value": "" },
{ "key": "MYSQL_PORT", "value": "3306" },
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${DOCSPACE_MYSQL_ROOT_PASSWORD}" },
{ "key": "MYSQL_DATABASE", "value": "docspace" },
{ "key": "MYSQL_USER", "value": "onlyoffice_user" },
{ "key": "MYSQL_PASSWORD", "value": "${DOCSPACE_MYSQL_PASSWORD}" },
{ "key": "DATABASE_MIGRATION", "value": "false" },
{ "key": "APP_DOTNET_ENV", "value": "" },
{ "key": "APP_KNOWN_NETWORKS", "value": "" },
{ "key": "APP_KNOWN_PROXIES", "value": "" },
{ "key": "APP_CORE_SERVER_ROOT", "value": "" },
{ "key": "APP_CORE_BASE_DOMAIN", "value": "${DOCSPACE_DOMAIN:-localhost}" },
{ "key": "APP_CORE_MACHINEKEY", "value": "${DOCSPACE_MACHINEKEY}" },
{ "key": "APP_URL_PORTAL", "value": "http://docspace-router:8092" },
{ "key": "INSTALLATION_TYPE", "value": "COMMUNITY" },
{ "key": "OAUTH_REDIRECT_URL", "value": "https://service.onlyoffice.com/oauth2.aspx" },
{ "key": "DOCUMENT_SERVER_JWT_SECRET", "value": "${DOCSPACE_JWT_SECRET}" },
{ "key": "DOCUMENT_SERVER_JWT_HEADER", "value": "AuthorizationJwt" },
{ "key": "DOCUMENT_SERVER_URL_PUBLIC", "value": "/ds-vpath/" },
{ "key": "DOCUMENT_CONTAINER_NAME", "value": "docspace-document-server" },
{ "key": "DOCUMENT_SERVER_URL_EXTERNAL", "value": "" },
{ "key": "ELK_CONTAINER_NAME", "value": "docspace-opensearch" },
{ "key": "ELK_SCHEME", "value": "http" },
{ "key": "ELK_HOST", "value": "" },
{ "key": "ELK_PORT", "value": "9200" },
{ "key": "REDIS_CONTAINER_NAME", "value": "docspace-redis" },
{ "key": "REDIS_HOST", "value": "" },
{ "key": "REDIS_PORT", "value": "6379" },
{ "key": "REDIS_USER_NAME", "value": "" },
{ "key": "REDIS_PASSWORD", "value": "" },
{ "key": "RABBIT_CONTAINER_NAME", "value": "docspace-rabbitmq" },
{ "key": "RABBIT_PROTOCOL", "value": "amqp" },
{ "key": "RABBIT_HOST", "value": "" },
{ "key": "RABBIT_PORT", "value": "5672" },
{ "key": "RABBIT_VIRTUAL_HOST", "value": "/" },
{ "key": "RABBIT_USER_NAME", "value": "guest" },
{ "key": "RABBIT_PASSWORD", "value": "${DOCSPACE_RABBITMQ_PASSWORD}" },
{ "key": "ROUTER_HOST", "value": "docspace-router" },
{ "key": "LOG_LEVEL", "value": "Warning" },
{ "key": "DEBUG_INFO", "value": "false" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/app",
"containerPath": "/app/onlyoffice/data"
},
{
"hostPath": "${APP_DATA_DIR}/data/log",
"containerPath": "/var/log/onlyoffice"
}
],
"healthCheck": {
"test": "curl --fail http://docspace-notify:5005/health/ || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-migration-runner": { "condition": "service_completed_successfully" },
"docspace-mysql": { "condition": "service_healthy" },
"docspace-redis": { "condition": "service_healthy" },
"docspace-rabbitmq": { "condition": "service_healthy" }
}
},
{
"name": "docspace-healthchecks",
"image": "onlyoffice/docspace-healthchecks:latest",
"environment": [
{ "key": "LOG_LEVEL", "value": "Warning" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/app",
"containerPath": "/app/onlyoffice/data"
}
],
"healthCheck": {
"test": "curl --fail http://docspace-healthchecks:5033/liveness/ || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-dotnet": { "condition": "service_healthy" }
}
},
{
"name": "docspace",
"image": "nginx:latest",
"isMain": true,
"internalPort": 80,
"environment": [
{ "key": "ROUTER_HOST", "value": "docspace-router" }
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/nginx-log",
"containerPath": "/var/log/nginx"
},
{
"hostPath": "${APP_DATA_DIR}/config/nginx/nginx.conf.template",
"containerPath": "/etc/nginx/nginx.conf",
"readOnly": true
},
{
"hostPath": "${APP_DATA_DIR}/config/nginx/letsencrypt.conf",
"containerPath": "/etc/nginx/includes/letsencrypt.conf",
"readOnly": true
},
{
"hostPath": "${APP_DATA_DIR}/config/nginx/proxy.upstream.conf.template",
"containerPath": "/etc/nginx/templates/proxy.upstream.conf.template",
"readOnly": true
},
{
"hostPath": "${APP_DATA_DIR}/config/nginx/onlyoffice-proxy.conf",
"containerPath": "/etc/nginx/conf.d/default.conf",
"readOnly": true
}
],
"healthCheck": {
"test": "nginx -t || exit 1",
"interval": "60s",
"timeout": "10s",
"retries": 5
},
"dependsOn": {
"docspace-router": { "condition": "service_healthy" }
}
}
]
}