Add ONLYOFFICE DocSpace app (15 services, Community Edition)
This commit is contained in:
83
apps/docspace/config.json
Normal file
83
apps/docspace/config.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"name": "ONLYOFFICE DocSpace",
|
||||
"id": "docspace",
|
||||
"available": true,
|
||||
"short_desc": "Collaborative room-based document management platform with built-in editors",
|
||||
"author": "ONLYOFFICE",
|
||||
"port": 8843,
|
||||
"categories": ["utilities", "documents", "collaboration"],
|
||||
"tipi_version": 1,
|
||||
"version": "latest",
|
||||
"source": "https://github.com/ONLYOFFICE/DocSpace",
|
||||
"website": "https://www.onlyoffice.com/docspace.aspx",
|
||||
"exposable": true,
|
||||
"dynamic_config": true,
|
||||
"supported_architectures": ["amd64"],
|
||||
"min_tipi_version": "4.0.0",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "JWT Secret",
|
||||
"hint": "Secret key for Document Server JWT authentication",
|
||||
"env_variable": "DOCSPACE_JWT_SECRET",
|
||||
"min": 32,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "MySQL Root Password",
|
||||
"hint": "Root password for the MySQL database",
|
||||
"env_variable": "DOCSPACE_MYSQL_ROOT_PASSWORD",
|
||||
"min": 24,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "MySQL User Password",
|
||||
"hint": "Password for the docspace MySQL user",
|
||||
"env_variable": "DOCSPACE_MYSQL_PASSWORD",
|
||||
"min": 24,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "App Machine Key",
|
||||
"hint": "Core machine key used for encryption and signing",
|
||||
"env_variable": "DOCSPACE_MACHINEKEY",
|
||||
"min": 32,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Identity Encryption Secret",
|
||||
"hint": "Secret key for identity service encryption",
|
||||
"env_variable": "DOCSPACE_IDENTITY_SECRET",
|
||||
"min": 32,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "random",
|
||||
"label": "RabbitMQ Password",
|
||||
"hint": "Password for the RabbitMQ message broker",
|
||||
"env_variable": "DOCSPACE_RABBITMQ_PASSWORD",
|
||||
"min": 24,
|
||||
"encoding": "hex"
|
||||
},
|
||||
{
|
||||
"type": "email",
|
||||
"label": "Admin Email",
|
||||
"hint": "Email address for the DocSpace administrator account",
|
||||
"required": true,
|
||||
"env_variable": "DOCSPACE_ADMIN_EMAIL"
|
||||
},
|
||||
{
|
||||
"type": "fqdn",
|
||||
"label": "DocSpace Domain",
|
||||
"hint": "Domain name for accessing DocSpace (e.g., docspace.example.com)",
|
||||
"required": false,
|
||||
"env_variable": "DOCSPACE_DOMAIN"
|
||||
}
|
||||
],
|
||||
"created_at": 1712793600000,
|
||||
"updated_at": 1712793600000
|
||||
}
|
||||
4
apps/docspace/data/config/nginx/letsencrypt.conf
Normal file
4
apps/docspace/data/config/nginx/letsencrypt.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
location ^~ /.well-known/acme-challenge/ {
|
||||
root /letsencrypt;
|
||||
default_type "text/plain";
|
||||
}
|
||||
33
apps/docspace/data/config/nginx/nginx.conf.template
Normal file
33
apps/docspace/data/config/nginx/nginx.conf.template
Normal file
@@ -0,0 +1,33 @@
|
||||
user nginx;
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /tmp/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
client_body_temp_path /tmp/client_temp;
|
||||
proxy_temp_path /tmp/proxy_temp_path;
|
||||
fastcgi_temp_path /tmp/fastcgi_temp;
|
||||
uwsgi_temp_path /tmp/uwsgi_temp;
|
||||
scgi_temp_path /tmp/scgi_temp;
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
||||
30
apps/docspace/data/config/nginx/onlyoffice-proxy.conf
Normal file
30
apps/docspace/data/config/nginx/onlyoffice-proxy.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $proxy_connection;
|
||||
proxy_set_header Host $this_host;
|
||||
proxy_set_header X-Forwarded-Host $proxy_x_forwarded_host;
|
||||
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_hide_header 'Server';
|
||||
proxy_hide_header 'X-Powered-By';
|
||||
proxy_buffering off;
|
||||
proxy_http_version 1.1;
|
||||
|
||||
proxy_buffer_size 128k;
|
||||
proxy_buffers 8 128k;
|
||||
proxy_busy_buffers_size 256k;
|
||||
|
||||
access_log /var/log/nginx/access-proxy.log;
|
||||
error_log /var/log/nginx/error-proxy.log;
|
||||
|
||||
server {
|
||||
listen 0.0.0.0:80;
|
||||
listen [::]:80 default_server;
|
||||
|
||||
client_max_body_size 4G;
|
||||
|
||||
location / {
|
||||
proxy_pass http://$router_host:8092;
|
||||
}
|
||||
|
||||
include includes/letsencrypt.conf;
|
||||
}
|
||||
32
apps/docspace/data/config/nginx/proxy.upstream.conf.template
Normal file
32
apps/docspace/data/config/nginx/proxy.upstream.conf.template
Normal file
@@ -0,0 +1,32 @@
|
||||
resolver 127.0.0.11 valid=30s;
|
||||
|
||||
map $http_host $this_host {
|
||||
"" $host;
|
||||
default $http_host;
|
||||
}
|
||||
|
||||
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
|
||||
default $http_x_forwarded_proto;
|
||||
"" $scheme;
|
||||
}
|
||||
|
||||
map $http_x_forwarded_host $proxy_x_forwarded_host {
|
||||
default $http_x_forwarded_host;
|
||||
"" $this_host;
|
||||
}
|
||||
|
||||
map $http_x_forwarded_port $proxy_x_forwarded_port {
|
||||
default $http_x_forwarded_port;
|
||||
'' $server_port;
|
||||
}
|
||||
|
||||
map $http_upgrade $proxy_connection {
|
||||
default upgrade;
|
||||
"" close;
|
||||
}
|
||||
|
||||
map $ROUTER_HOST $router_host {
|
||||
volatile;
|
||||
default onlyoffice-router;
|
||||
~^(.*)$ $1;
|
||||
}
|
||||
725
apps/docspace/docker-compose.json
Normal file
725
apps/docspace/docker-compose.json
Normal file
@@ -0,0 +1,725 @@
|
||||
{
|
||||
"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" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
37
apps/docspace/metadata/description.md
Normal file
37
apps/docspace/metadata/description.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# ONLYOFFICE DocSpace
|
||||
|
||||
ONLYOFFICE DocSpace is a collaborative room-based document management platform that enables teams to create, edit, and manage documents, spreadsheets, and presentations in real-time.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Room-based collaboration** — Organize work into dedicated rooms with granular access controls for teams, departments, or external partners
|
||||
- **Built-in document editors** — Full-featured editors for documents, spreadsheets, presentations, and fillable forms powered by ONLYOFFICE Docs
|
||||
- **File management** — Upload, organize, and share files with version history and audit trails
|
||||
- **Third-party integrations** — Connect external storage providers (Google Drive, Dropbox, OneDrive, Nextcloud, etc.)
|
||||
- **Guest access** — Invite external users with limited permissions for secure document sharing
|
||||
- **Customizable branding** — White-label the interface with your organization's logo and colors
|
||||
|
||||
## Architecture
|
||||
|
||||
This deployment includes the full DocSpace stack:
|
||||
|
||||
- **Nginx proxy** — Reverse proxy and entry point
|
||||
- **DocSpace router** — Internal request routing
|
||||
- **.NET services** — Core backend APIs (files, people, backup, studio, etc.)
|
||||
- **Java services** — Identity and authorization (OAuth2/OpenID Connect)
|
||||
- **Node.js services** — Frontend apps (login, editor, SDK, management)
|
||||
- **ONLYOFFICE Document Server** — Real-time document editing engine
|
||||
- **MySQL 8.3** — Primary database
|
||||
- **Redis 7** — Caching and session storage
|
||||
- **RabbitMQ 3** — Message queue for async operations
|
||||
- **OpenSearch 2.18** — Full-text search indexing
|
||||
|
||||
## System Requirements
|
||||
|
||||
- **RAM:** Minimum 8GB recommended (OpenSearch alone needs 1GB+)
|
||||
- **Disk:** 10GB+ for application data
|
||||
- **Architecture:** amd64 only
|
||||
|
||||
## First Launch
|
||||
|
||||
After installation, navigate to the app URL and complete the initial setup wizard to create your administrator account.
|
||||
Reference in New Issue
Block a user