Deploy RAGFlow

RAG with RAGFlow (RAG Flow): Infinity search, files and AI chat.

Deploy RAGFlow

Just deployed

/var/lib/mysql

Just deployed

/data

Just deployed

/ragflow/logs

Just deployed

/var/infinity

Deploy and Host RAGFlow with Infinity on Railway

For document ingestion and source-referenced document Q&A on Railway using Infinity, use RAGFlow with Infinity. This five-service CPU stack connects RAGFlow v0.26.4, Infinity v0.7.0, MinIO, MySQL and Redis with persistent storage and private networking. Configure chat and embedding providers after deployment, then upload a representative document and verify retrieval before scaling the workload.

RAGFlow, also searched as RAG Flow, helps teams turn documents into searchable knowledge and assistants with source references. This is a CPU configuration with external model providers. After deployment, create your account, configure chat and embedding models, then import documents and test retrieval.

Why Deploy RAGFlow with Infinity on Railway?

Your requirementIncluded configuration
Deploy a connected document RAG stackApplication, search engine, object store, SQL database and task queue
Use Infinity for retrievalDOC_ENGINE=infinity; matching RAGFlow 0.26.4 / Infinity 0.7.0 pair
Keep original uploaded documentsMinIO object storage with the ragflow bucket created at startup
Preserve knowledge metadata and search dataPersistent MySQL and Infinity volumes
Run ingestion on CPUCPU application configuration; model inference uses your chosen providers
Inspect how the deployment is builtPublic Dockerfile, proxy configuration and parser patches

Choose this stack for RAGFlow with Infinity-backed retrieval and connected storage. No Elasticsearch service is provisioned. Size the five services for your parsing workload.

First deployment and first answer

  1. Deploy the template and wait for the five services to start. Image building, dependency startup and initial schema setup can take time.
  2. Open the public domain of the ragflow service and register your first account. Registration is enabled by default with REGISTER_ENABLED=1.
  3. Configure a supported chat model and embedding model in RAGFlow's model-provider settings. Use the correct provider API host, credentials and model identifiers.
  4. Create a knowledge base/dataset, choose its embedding model and upload a small text document.
  5. Start parsing and wait for successful completion. Inspect the document chunks and run a retrieval test.
  6. Create a chat assistant connected to that knowledge base. Ask a question whose answer appears in the document and check the returned source references.

Frequently asked questions

What does RAGFlow do?

RAGFlow parses documents, retrieves relevant chunks and supports document Q&A. Models and extracted-text quality affect answers.

Does this template deploy RAGFlow 0.26.4?

The public XavTo/Ragflow Dockerfile currently defaults to RAGFLOW_VERSION=v0.26.4, built on infiniflow/ragflow:v0.26.4. The published template pairs it with infiniflow/infinity:v0.7.0. Application source is built from the repository; review its current commit before an upgrade. The main application is not pinned to an immutable image digest.

Why use Infinity with RAGFlow?

Infinity supplies the configured document search engine, including vector-backed retrieval. The template connects it to RAGFlow over the private network and provisions its persistent storage. Pick this template when you specifically want this supported engine pairing and the accompanying object/database services already wired together. Relative cost or performance versus another engine depends on the workload and has not been benchmarked here.

Do I need an OpenAI key before deploying?

Model-provider credentials are configured after deployment inside RAGFlow. To process documents and generate model answers, configure the appropriate embedding and chat providers. The CPU application container does not include a local model server or inference credits. Provider API usage is billed separately from Railway infrastructure.

Can I use Claude or a different chat provider?

Use a provider supported by the pinned RAGFlow release and configure its credentials/model in the application. Chat and embeddings are separate capabilities: a Claude chat configuration still needs a compatible embedding provider for the knowledge base. A provider appearing in settings does not guarantee your account has access to every model.

Are files and knowledge bases kept after a redeploy?

Yes, when their existing volumes remain attached. MinIO stores uploaded objects; MySQL stores application metadata; Infinity stores search data. Redis has its own persistent volume for queue/cache state. Back up these stores together before upgrades. A restart and deleting a volume have different consequences: deleting persistent storage removes its contents.

Is MinIO the same as a native Railway Bucket?

This template runs a MinIO service with a persistent volume. Its startup command creates the ragflow bucket. It does not provision a managed Railway Bucket. The application uses MinIO's private endpoint on port 9000; the separate public MinIO console is an administrative interface on port 9001.

Can I disable public registration?

After creating the required accounts, set REGISTER_ENABLED=0 on the ragflow service and redeploy it. Preserve SECRET_KEY and database credentials. The template also provisions database TCP proxies and a MinIO console; review these administrative entry points for your deployment and protect their generated credentials.

Will every PDF or scan parse correctly?

Parsing depends on the file format, extraction method, document complexity and available memory. Test representative files before a bulk import. The container uses CPU mode, so demanding OCR and large documents can require substantial resources and processing time. No universal parsing or answer-accuracy guarantee is implied.

About Hosting RAGFlow with Infinity

ServicePublished sourceRole
ragflowXavTo/Ragflow, default RAGFlow v0.26.4Web UI, API, parsing and chat
infinityinfiniflow/infinity:v0.7.0Document/vector search engine
miniopgsty/minio:RELEASE.2026-03-25T00-00-00ZUploaded objects and automatic bucket creation
MySQLmysql:9.4Accounts, knowledge-base metadata and application state
Redisredis:8.2.1Queues and caching with volume-backed snapshots

The repository includes version-specific Nginx configuration and strictly checked parser patches for path-backed parsing. An incompatible patch target fails the image build, helping expose upstream changes before deployment. MinIO uses the compatible PGSTY build pinned by SHA-256 digest, with a readiness check and bounded bucket initialization.

The application uses private references for INFINITY_HOST, MINIO_HOST, MYSQL_HOST and REDIS_HOST. MySQL and Redis expose Railway-style connection variables. Preserve their generated passwords; the application references those service values automatically.

Important configuration

Variable or settingDefault or purpose
DOC_ENGINEinfinity
DEVICEcpu
REGISTER_ENABLED1; disable registration after creating accounts if needed
SECRET_KEYGenerated application secret; keep stable
API_PROXY_SCHEMEpython, matching the repository proxy configuration
MINIO_BUCKETragflow
Infinity private Thrift APIPort 23817
Infinity HTTP status/console port23820
MinIO application endpointPrivate HTTP on port 9000
Redis private endpointPort 6379

RAGFlow's bundled configuration determines its actual dependency ports. Adding a similarly named variable to the application alone may not override that configuration. Follow the repository's configuration files when changing ports.

Capacity, maintenance and troubleshooting

Railway bills the five running services, their volumes and applicable network usage. External model costs are additional. Monitor parsing memory, queue length and volume growth; begin with a small representative document rather than sizing only from idle usage.

If startup fails, inspect dependency logs and confirm MySQL, Redis, MinIO and Infinity are reachable. For indexing failures, inspect the document's parsing status, worker/application logs, embedding-provider settings and available memory. For empty or irrelevant answers, run retrieval separately, check extracted chunks and confirm the chat assistant uses the intended dataset.

Upgrade RAGFlow and Infinity together. Keep backups of MySQL, Infinity and MinIO; preserve Redis too when queued jobs matter. Test the target pair in staging, stop application writes during a search-engine change, then verify login, old-document retrieval, new-file ingestion and chat with source references.

The repository retains the legacy rollback pair RAGFlow v0.23.1 / Infinity v0.6.15. Rolling back after schema/search migrations can require restoring backups, not just changing tags. Never downgrade an existing MySQL 9.4 volume by replacing its image with a MySQL 8 image.

Dependencies for RAGFlow with Infinity Hosting

Deployment Dependencies

Other deployment choices from this publisher


Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
117
View Template
Weaviate
Vector database with hybrid search and an API key-protected API

zer0person
1
View Template
Möbius v0.1 Personal AI OS
Self-hosted AI agent that builds and runs apps for you, with memory.

bento
1