Files
runtipi/apps/onlyoffice-docs/docker-compose.json

132 lines
3.9 KiB
JSON

{
"schemaVersion": 2,
"services": [
{
"name": "onlyoffice-docs",
"image": "onlyoffice/documentserver:8.2",
"isMain": true,
"internalPort": 80,
"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@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/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,
"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"
}
}
]
}