---
title: "Deploy knode"
description: "Deploy Knode: FastAPI + Celery + Expo web. LLM key required."
category: "Automation"
url: https://railway.com/deploy/knode
---

# Deploy knode

Deploy Knode: FastAPI + Celery + Expo web. LLM key required.

**[Deploy knode on Railway](https://railway.com/template/knode)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/knode/manifest.json

- **Creator:** ebettenga's Projects
- **Category:** Automation

## Template content

### api

- **Source:** https://github.com/ebettenga/knode
- **Health check:** /ready
- **Public domain:** Yes

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### web

- **Source:** https://github.com/ebettenga/knode
- **Public domain:** Yes

### beat

- **Source:** https://github.com/ebettenga/knode
- **Start command:** `celery -A apps.worker.celery_app beat --loglevel=info`
- **Public domain:** Yes

### worker

- **Source:** https://github.com/ebettenga/knode
- **Start command:** `celery -A apps.worker.celery_app worker --loglevel=info`
- **Public domain:** Yes

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

## Documentation

# Deploy and Host Knode with Railway

Knode is an organization automation platform: describe jobs in plain English, get testable step plans, run them with Celery workers, and connect GitHub, Slack, Google, and other integrations.

## About Hosting Knode

This template provisions a full production stack from the [ebettenga/knode](https://github.com/ebettenga/knode) repo:

| Service | Role |
|---------|------|
| **api** | FastAPI backend (`/ready` healthcheck) |
| **worker** | Celery task executor |
| **beat** | Scheduled runs and poll triggers |
| **web** | Expo static web UI |
| **Postgres** | Database |
| **Redis** | Celery broker |

At deploy time, paste **`LLM_API_KEY`** (required). OAuth credentials are optional — add later in Railway or in-app **Integrations**. Database URLs, secrets, and public domains are auto-wired.

## Common Use Cases

- Team automation workshop: plain-English jobs → code / AI / MCP step plans
- Org task market and shared workflows with Jira/Asana/Linear tickets
- Self-hosted push and integrations (Slack, GitHub, Google Workspace, Microsoft 365)
- Expo web UI on phone (Add to Home Screen) plus optional Android APK via EAS

## Dependencies for Knode Hosting

- **Postgres** — primary data store (included)
- **Redis** — Celery broker and result backend (included)
- **LLM API key** — OpenAI or compatible endpoint (you provide)
- **OAuth apps** — optional; GitHub, Slack, Google, etc. (you provide or configure in-app)

### Deployment Dependencies

- GitHub repo: https://github.com/ebettenga/knode (branch `main`)
- Full setup guide: https://github.com/ebettenga/knode/blob/main/deploy/railway/README.md
- Provider OAuth setup: https://github.com/ebettenga/knode/blob/main/deploy/railway/PROVIDERS.md

## Why Deploy Knode on Railway?

Railway hosts the full stack — databases, API, workers, and static web — with one click. You get HTTPS domains, managed Postgres/Redis, and continuous deploy from `main` without running your own VM. Scale vertically as your org grows; add volumes for model and run artifacts out of the box.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/knode
