ragflow: add RAGFlow v0.26.4 RAG platform (ES engine, models via ollama)
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"$schema": "https://schemas.runtipi.io/v2/dynamic-compose.json",
|
||||
"services": [
|
||||
{
|
||||
"name": "ragflow-es-init",
|
||||
"image": "busybox:1.36",
|
||||
"isMain": false,
|
||||
"restart": "no",
|
||||
"user": "root",
|
||||
"command": ["chown", "-R", "1000:0", "/usr/share/elasticsearch/data"],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/es",
|
||||
"containerPath": "/usr/share/elasticsearch/data",
|
||||
"readOnly": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ragflow-es01",
|
||||
"image": "elasticsearch:8.11.3",
|
||||
"environment": [
|
||||
{ "key": "node.name", "value": "es01" },
|
||||
{ "key": "ELASTIC_PASSWORD", "value": "${RAGFLOW_ELASTIC_PASSWORD}" },
|
||||
{ "key": "bootstrap.memory_lock", "value": "false" },
|
||||
{ "key": "discovery.type", "value": "single-node" },
|
||||
{ "key": "xpack.security.enabled", "value": "true" },
|
||||
{ "key": "xpack.security.http.ssl.enabled", "value": "false" },
|
||||
{ "key": "xpack.security.transport.ssl.enabled", "value": "false" },
|
||||
{ "key": "cluster.routing.allocation.disk.watermark.low", "value": "5gb" },
|
||||
{ "key": "cluster.routing.allocation.disk.watermark.high", "value": "3gb" },
|
||||
{ "key": "cluster.routing.allocation.disk.watermark.flood_stage", "value": "2gb" },
|
||||
{ "key": "ES_JAVA_OPTS", "value": "-Xms2g -Xmx4g" }
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/es",
|
||||
"containerPath": "/usr/share/elasticsearch/data",
|
||||
"readOnly": false
|
||||
}
|
||||
],
|
||||
"ulimits": {
|
||||
"memlock": { "soft": -1, "hard": -1 }
|
||||
},
|
||||
"deploy": {
|
||||
"resources": {
|
||||
"limits": {
|
||||
"memory": "8000M"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependsOn": {
|
||||
"ragflow-es-init": { "condition": "service_completed_successfully" }
|
||||
},
|
||||
"healthCheck": {
|
||||
"test": "curl http://127.0.0.1:9200 || exit 1",
|
||||
"interval": "10s",
|
||||
"timeout": "10s",
|
||||
"retries": 120,
|
||||
"startPeriod": "120s"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ragflow-mysql",
|
||||
"image": "mysql:8.0.39",
|
||||
"environment": [
|
||||
{ "key": "MYSQL_ROOT_PASSWORD", "value": "${RAGFLOW_MYSQL_ROOT_PASSWORD}" },
|
||||
{ "key": "MYSQL_DATABASE", "value": "rag_flow" }
|
||||
],
|
||||
"command": [
|
||||
"mysqld",
|
||||
"--max_connections=1000",
|
||||
"--character-set-server=utf8mb4",
|
||||
"--collation-server=utf8mb4_unicode_ci",
|
||||
"--default-authentication-plugin=mysql_native_password",
|
||||
"--tls_version=TLSv1.2,TLSv1.3",
|
||||
"--binlog_expire_logs_seconds=604800"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/mysql",
|
||||
"containerPath": "/var/lib/mysql",
|
||||
"readOnly": false
|
||||
}
|
||||
],
|
||||
"healthCheck": {
|
||||
"test": "mysqladmin ping -uroot -p${RAGFLOW_MYSQL_ROOT_PASSWORD}",
|
||||
"interval": "10s",
|
||||
"timeout": "10s",
|
||||
"retries": 60,
|
||||
"startPeriod": "30s"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ragflow-minio",
|
||||
"image": "pgsty/minio:RELEASE.2026-03-25T00-00-00Z",
|
||||
"command": ["server", "--console-address", ":9001", "/data"],
|
||||
"environment": [
|
||||
{ "key": "MINIO_ROOT_USER", "value": "rag_flow" },
|
||||
{ "key": "MINIO_ROOT_PASSWORD", "value": "${RAGFLOW_MINIO_ROOT_PASSWORD}" }
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/minio",
|
||||
"containerPath": "/data",
|
||||
"readOnly": false
|
||||
}
|
||||
],
|
||||
"healthCheck": {
|
||||
"test": "curl -f http://127.0.0.1:9000/minio/health/live || exit 1",
|
||||
"interval": "10s",
|
||||
"timeout": "10s",
|
||||
"retries": 60,
|
||||
"startPeriod": "30s"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ragflow-redis",
|
||||
"image": "valkey/valkey:8.0.2",
|
||||
"command": [
|
||||
"redis-server",
|
||||
"--requirepass", "${RAGFLOW_REDIS_PASSWORD}",
|
||||
"--maxmemory", "128mb",
|
||||
"--maxmemory-policy", "allkeys-lru"
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/redis",
|
||||
"containerPath": "/data",
|
||||
"readOnly": false
|
||||
}
|
||||
],
|
||||
"healthCheck": {
|
||||
"test": "redis-cli -a ${RAGFLOW_REDIS_PASSWORD} ping",
|
||||
"interval": "10s",
|
||||
"timeout": "10s",
|
||||
"retries": 30,
|
||||
"startPeriod": "15s"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ragflow-server",
|
||||
"image": "infiniflow/ragflow:v0.26.4",
|
||||
"isMain": true,
|
||||
"internalPort": 80,
|
||||
"entrypoint": [
|
||||
"/bin/bash",
|
||||
"-c",
|
||||
"if [ \"$RAGFLOW_REGISTER_ENABLED\" = \"false\" ]; then export REGISTER_ENABLED=0; else export REGISTER_ENABLED=1; fi; exec ./entrypoint.sh \"$@\"",
|
||||
"bash"
|
||||
],
|
||||
"command": ["--enable-adminserver", "--init-model-provider-tables"],
|
||||
"environment": [
|
||||
{ "key": "TZ", "value": "${TZ}" },
|
||||
{ "key": "DOC_ENGINE", "value": "elasticsearch" },
|
||||
{ "key": "ES_HOST", "value": "ragflow-es01" },
|
||||
{ "key": "ELASTIC_PASSWORD", "value": "${RAGFLOW_ELASTIC_PASSWORD}" },
|
||||
{ "key": "MYSQL_HOST", "value": "ragflow-mysql" },
|
||||
{ "key": "MYSQL_PORT", "value": "3306" },
|
||||
{ "key": "MYSQL_DBNAME", "value": "rag_flow" },
|
||||
{ "key": "MYSQL_PASSWORD", "value": "${RAGFLOW_MYSQL_ROOT_PASSWORD}" },
|
||||
{ "key": "MINIO_HOST", "value": "ragflow-minio" },
|
||||
{ "key": "MINIO_USER", "value": "rag_flow" },
|
||||
{ "key": "MINIO_PASSWORD", "value": "${RAGFLOW_MINIO_ROOT_PASSWORD}" },
|
||||
{ "key": "REDIS_HOST", "value": "ragflow-redis" },
|
||||
{ "key": "REDIS_PASSWORD", "value": "${RAGFLOW_REDIS_PASSWORD}" },
|
||||
{ "key": "RAGFLOW_SECRET_KEY", "value": "${RAGFLOW_SECRET_KEY}" },
|
||||
{ "key": "RAGFLOW_REGISTER_ENABLED", "value": "${RAGFLOW_REGISTER_ENABLED}" },
|
||||
{ "key": "API_PROXY_SCHEME", "value": "python" },
|
||||
{ "key": "USE_DOCLING", "value": "false" },
|
||||
{ "key": "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT", "value": "1" }
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/logs",
|
||||
"containerPath": "/ragflow/logs",
|
||||
"readOnly": false
|
||||
}
|
||||
],
|
||||
"dependsOn": {
|
||||
"ragflow-es01": { "condition": "service_healthy" },
|
||||
"ragflow-mysql": { "condition": "service_healthy" },
|
||||
"ragflow-minio": { "condition": "service_healthy" },
|
||||
"ragflow-redis": { "condition": "service_healthy" }
|
||||
},
|
||||
"healthCheck": {
|
||||
"test": "curl -f http://127.0.0.1:80/ || exit 1",
|
||||
"interval": "30s",
|
||||
"timeout": "10s",
|
||||
"retries": 10,
|
||||
"startPeriod": "180s"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user