133 lines
4.1 KiB
JSON
133 lines
4.1 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"services": [
|
|
{
|
|
"name": "onlyoffice-docs",
|
|
"image": "onlyoffice/documentserver:8.2",
|
|
"isMain": true,
|
|
"internalPort": 8044,
|
|
"dependsOn": {
|
|
"onlyoffice-docs-db": {
|
|
"condition": "service_healthy"
|
|
},
|
|
"onlyoffice-docs-redis": {
|
|
"condition": "service_healthy"
|
|
},
|
|
"onlyoffice-docs-rabbitmq": {
|
|
"condition": "service_healthy"
|
|
}
|
|
},
|
|
"environment": [
|
|
{ "key": "JWT_ENABLED", "value": "true" },
|
|
{ "key": "JWT_SECRET", "value": " " },
|
|
{ "key": "JWT_HEADER", "value": "Authorization" },
|
|
{ "key": "JWT_IN_BODY", "value": "false" },
|
|
{ "key": "USE_UNAUTHORIZED_STORAGE", "value": "false" },
|
|
{ "key": "WOPI_ENABLED", "value": "false" },
|
|
{ "key": "NGINX_WORKER_PROCESSES", "value": "auto" },
|
|
{ "key": "NGINX_WORKER_CONNECTIONS", "value": "4096" },
|
|
{ "key": "GENERATE_FONTS", "value": "true" },
|
|
{ "key": "DB_TYPE", "value": "postgres" },
|
|
{ "key": "DB_HOST", "value": "onlyoffice-docs-db" },
|
|
{ "key": "DB_PORT", "value": "5432" },
|
|
{ "key": "DB_NAME", "value": "onlyoffice" },
|
|
{ "key": "DB_USER", "value": "onlyoffice" },
|
|
{ "key": "DB_PWD", "value": "onlyoffice" },
|
|
{ "key": "REDIS_SERVER_HOST", "value": "onlyoffice-docs-redis" },
|
|
{ "key": "REDIS_SERVER_PORT", "value": "6379" },
|
|
{ "key": "AMQP_URI", "value": "amqp://onlyoffice:@onlyoffice-docs-rabbitmq:5672/" },
|
|
{ "key": "AMQP_TYPE", "value": "rabbitmq" }
|
|
],
|
|
"volumes": [
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/logs",
|
|
"containerPath": "/var/log/onlyoffice"
|
|
},
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/data",
|
|
"containerPath": "/var/www/onlyoffice/Data"
|
|
},
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/lib",
|
|
"containerPath": "/var/lib/onlyoffice"
|
|
},
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/fonts",
|
|
"containerPath": "/usr/share/fonts/truetype/custom"
|
|
}
|
|
],
|
|
"healthCheck": {
|
|
"test": "curl -f http://localhost:8044/healthcheck",
|
|
"interval": "30s",
|
|
"timeout": "10s",
|
|
"retries": 3,
|
|
"startPeriod": "60s"
|
|
}
|
|
},
|
|
{
|
|
"name": "onlyoffice-docs-db",
|
|
"image": "postgres:15-alpine",
|
|
"isMain": false,
|
|
"environment": [
|
|
{ "key": "POSTGRES_DB", "value": "onlyoffice" },
|
|
{ "key": "POSTGRES_USER", "value": "onlyoffice" },
|
|
{ "key": "POSTGRES_PASSWORD", "value": "onlyoffice" }
|
|
],
|
|
"volumes": [
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/postgresql",
|
|
"containerPath": "/var/lib/postgresql/data"
|
|
}
|
|
],
|
|
"healthCheck": {
|
|
"test": "pg_isready -U onlyoffice -d onlyoffice",
|
|
"interval": "10s",
|
|
"timeout": "5s",
|
|
"retries": 5,
|
|
"startPeriod": "10s"
|
|
}
|
|
},
|
|
{
|
|
"name": "onlyoffice-docs-redis",
|
|
"image": "redis:7-alpine",
|
|
"isMain": false,
|
|
"volumes": [
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/redis",
|
|
"containerPath": "/data"
|
|
}
|
|
],
|
|
"healthCheck": {
|
|
"test": "redis-cli ping",
|
|
"interval": "10s",
|
|
"timeout": "5s",
|
|
"retries": 5,
|
|
"startPeriod": "10s"
|
|
}
|
|
},
|
|
{
|
|
"name": "onlyoffice-docs-rabbitmq",
|
|
"image": "rabbitmq:3-alpine",
|
|
"isMain": false,
|
|
"command": "sh -c 'chmod 600 /var/lib/rabbitmq/.erlang.cookie 2>/dev/null; chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie 2>/dev/null; exec rabbitmq-server'",
|
|
"environment": [
|
|
{ "key": "RABBITMQ_DEFAULT_USER", "value": "onlyoffice" },
|
|
{ "key": "RABBITMQ_DEFAULT_PASS", "value": "onlyoffice" }
|
|
],
|
|
"volumes": [
|
|
{
|
|
"hostPath": "${APP_DATA_DIR}/data/rabbitmq",
|
|
"containerPath": "/var/lib/rabbitmq"
|
|
}
|
|
],
|
|
"healthCheck": {
|
|
"test": "rabbitmq-diagnostics -q ping",
|
|
"interval": "10s",
|
|
"timeout": "5s",
|
|
"retries": 5,
|
|
"startPeriod": "30s"
|
|
}
|
|
}
|
|
]
|
|
}
|