
Deploy Flowise | Visual AI Agent Builder with Postgres and a Real Volume
Self-host Flowise on Railway: agents, Postgres and flows that survive
Just deployed
/var/lib/postgresql/data
Flowise
Just deployed
/root/.flowise
Deploy and Host Flowise on Railway
Flowise is a visual builder for LLM apps and agents: you wire nodes together on a canvas, attach credentials and vector stores, and expose the result as a chat widget or an API endpoint.
About Hosting Flowise
This template runs the official flowiseai/flowise image on a pinned release, backed by Postgres and a persistent volume.
That combination is the point. Flowise defaults to a SQLite file and a generated encryption key inside the container. On a platform that replaces the container on every deploy, that means the flows, the API keys and the credentials you saved are gone the next time you redeploy - and because the encryption key is regenerated too, even a restored database would not decrypt.
Here the data lives in Postgres, uploads and API keys live on a volume at /root/.flowise, and the encryption key, JWT secrets, session secret and token hash secret are generated once per deployment and kept as service variables. Redeploys keep your work and keep you logged in.
Common Use Cases
- A chatbot or RAG assistant over your own documents, exposed as an embeddable widget
- An agent that calls your internal APIs as tools, without writing the orchestration by hand
- A prototyping surface for prompt chains that a non-developer teammate can edit
Dependencies for Flowise Hosting
- Postgres, included in this template, for flows, credentials and chat history
- A persistent volume, included, for uploaded files, API keys and secret storage
- An API key for whichever model provider you use. Add it inside Flowise under Credentials after the first login - it is stored encrypted, not as an environment variable.
Deployment Dependencies
- Flowise documentation: https://docs.flowiseai.com
- Source: https://github.com/FlowiseAI/Flowise
Implementation Details
The first account you create through the sign-up screen becomes the owner of the default workspace. The API refuses unauthenticated calls from the start.
Notable variables set by the template:
| Variable | Why |
|---|---|
| DATABASE_TYPE, DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD | Point Flowise at the bundled Postgres over the private network |
| FLOWISE_SECRETKEY_OVERWRITE | Encrypts stored credentials. Generated once, so credentials stay readable across deploys |
| JWT_AUTH_TOKEN_SECRET, JWT_REFRESH_TOKEN_SECRET, EXPRESS_SESSION_SECRET, TOKEN_HASH_SECRET | Sign sessions and tokens. Generated once, so a redeploy does not log everyone out |
| SECRETKEY_PATH, APIKEY_PATH, BLOB_STORAGE_PATH, LOG_PATH | Keep secrets, API keys, uploads and logs on the volume |
| APP_URL | The public domain, used for invite and password-reset links |
| SECURE_COOKIES, NUMBER_OF_PROXIES | Correct cookie and client-IP handling behind the Railway proxy |
Two deprecated ReAct agent nodes fail to register on start-up. That is an upstream packaging issue in the official 3.1.3 image, not a configuration problem - the server starts and every other node loads.
Why Deploy Flowise on Railway?
Flowise needs a database, a disk and a domain before it is worth anything, and wiring those together is most of the work. Railway supplies all three, on a private network, with one deploy. Change the image tag when a new Flowise release lands and your flows are still there.
Template Content
