Deploy Skillbox
Self-hosted, versioned skills library and MCP server for AI agents
skillbox-db
Just deployed
/var/lib/postgresql/data
skillbox
Just deployed
/app/data
Deploy and Host self hosted Skillbox (AI/ML) on Railway
This template deploys Skillbox, a self-hosted, versioned skills library and MCP server for AI agents, as two Railway services: the app and Postgres 16.15.
About Hosting Skillbox open-source software on Railway (self hosted Skillbox template)
Skillbox is an open-source, self-hosted skills library and MCP server for AI agents, released under the MIT license by kitze.
Why Deploy Skillbox, the self-hosted skills library and MCP server on Railway
Running Skillbox on Railway gives you a private, versioned home for your agents' skills, with one owner key and scoped client keys per agent. This is independent community packaging of kitze/skillbox and is not affiliated with or endorsed by the upstream authors.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Skillbox on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for Skillbox self hosting
Skillbox needs an app container and Postgres, so your provider decides how much you manage.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | Both services, volumes and a public HTTPS domain from the template, with no server to maintain. | A Droplet with root access, but you install Docker, set up Postgres, handle TLS and patch the host. |
| AWS | The template provisions the app and skillbox-db with generated secrets and a health check. | Broad control over VPC, load balancing and storage, but you design and maintain it yourself. |
| Hetzner | One-click deployment with the database kept on a private network by default. | Low-cost capacity, but you run the operating system, Docker and database backups yourself. |
Pick based on how much infrastructure you want to own.
Common Use Cases for hosted Skillbox
- Team skill library for coding agents: Keep your team's SKILL.md files in one versioned place, so every agent loads the same reviewed playbooks instead of drifting copies on each laptop.
- Scoped access for each agent: Create a separate client key in the UI for each agent or tool, then revoke one without touching the others or sharing the owner login.
- Private MCP endpoint for skills: Point MCP-capable clients at your own /mcp URL so they can search and load skills over HTTP without you hosting anything else.
- Owner-only curation in the web UI: Sign in with the owner key to edit skills, review revisions, and restore an earlier version when a change goes wrong.
- Personal skills archive on a private domain: Store your own reusable prompts and workflows on a Railway domain you control, backed by a Postgres database you can back up.
Dependencies for Skillbox Docker hosted on Railway
This template runs two containers: the Skillbox app and a private Postgres database. Keep one replica of each service, because both use persistent volumes.
Deployment Dependencies for Managed Skillbox Service (two containers: the Skillbox app and Postgres 16.15)
- skillbox: port 8080 with a public domain, a volume at /app/data, and a /healthz health check with a 300 second timeout.
- skillbox-db: a private Postgres 16.15 service with a volume at /var/lib/postgresql/data.
- Variables: four generated or referenced values, no inputs. SKILLBOX_ADMIN_TOKEN (48 characters) is the owner key you paste on the login page, and it also encrypts stored integration secrets, so do not change it after setup. DATABASE_URL is built from skillbox-db.POSTGRES_PASSWORD and the private domain. SKILLBOX_ORIGIN is your Railway HTTPS origin. On skillbox-db, POSTGRES_PASSWORD is generated per deploy.
Implementation Details for Skillbox (unmodified Skillbox image at dfc974f plus a Railway start script, with Postgres 16.15)
ghcr.io/onepush-dev/skillbox:dfc974f is built from the unmodified upstream Dockerfile at commit dfc974f plus railway/start.sh, which prepares /app/data for the bun user, waits for Postgres, then runs the upstream server.
How does Skillbox compare against other tools
Skillbox vs the Railway template titled SkillHub (Skillbox Alternative)
- Different software: The existing Railway template titled SkillHub is different software; this listing deploys Skillbox from kitze/skillbox, so the two are not interchangeable.
- Owner-managed library: Skillbox gives you one owner login plus revisioned skills, profiles and scoped client keys you create in the UI, which suits a single private library.
- Where SkillHub may fit better: If you want a different project's workflow or features, SkillHub is the one to evaluate on its own terms.
Skillbox vs a folder of SKILL.md files (SKILL.md Folder Alternative)
- Versioning and access: Skillbox keeps immutable revisions, conflict checks on edits and MCP access through scoped client keys, which a plain folder does not provide by itself.
- Simplicity: A folder of SKILL.md files is simpler to start with, has no server to run and works well for one person on one machine.
- Trade-off: Skillbox adds a web app and a Postgres database to operate, so pick it when you need served, versioned access for agents.
Skillbox with Docker vs Railway (Docker Self Hosting Alternative)
- Control: Running the unmodified upstream image with Docker on your own host gives you full control over networking, backups and upgrades.
- Managed setup: Railway provisions the app and Postgres, sets the origin and generates the owner key, so you skip most of the setup work.
- Where Docker wins: A self-managed host is the better fit if you need specific network placement, custom volumes or tighter control over where data lives.
Skillbox vs Railway hosting (Railway Alternative)
- Scope: Railway is a general hosting platform; Skillbox is a skills library and MCP server that you run on it, so the comparison is between platform and application.
- Setup: The template wires up the two services, the private database connection and the public domain, which you would otherwise configure by hand.
- Ongoing choice: Keep it on Railway for convenience, or move the same unmodified image to your own host when you want more control.
How to use Skillbox on Railway?
Work through these steps on your first day after the deploy finishes. They assume both services are healthy.
- Open the public domain Railway gave the skillbox service. On the login page, paste SKILLBOX_ADMIN_TOKEN from the skillbox Variables tab. This is the single owner key, and it also encrypts stored integration secrets, so do not change it after setup.
- Create a profile with the grants your agents need, then create a scoped client key for each agent in the UI. Give each agent its own key rather than sharing the owner key.
- Optional: if you want Jev recommendations, add your own OpenRouter or Vercel AI Gateway key in Settings. It is not a template variable, and nothing is billed until you add it.
- Keep one replica of each service. Both services use volumes for local persistent state, so scaling them out is not supported.
- Check that the app is healthy with the endpoint below.
https://your-domain/healthz
How to self host Skillbox on other VPS Services (Skillbox self hosting guide)
Clone the Repository
Clone the upstream project at the pinned commit so your deployment matches what this guide describes.
git clone https://github.com/kitze/skillbox.git
cd skillbox
git checkout dfc974f
Install Dependencies
You need Docker Engine or Docker Desktop with Compose v2 and Bash on Linux, macOS or WSL. Bun and Node do not need to be installed on the host.
Configure Environment Variables
Run the upstream setup helper, which writes a protected .env with unique credentials and refuses to overwrite an existing one.
bash scripts/skillbox.sh setup --origin https://your-domain
Keep SKILLBOX_ADMIN_TOKEN private, since it is the owner login and also encrypts stored integration secrets.
Start the Skillbox Application
Start the stack, then confirm the health endpoint responds before you open the UI.
bash scripts/skillbox.sh start
curl --fail http://127.0.0.1:4791/healthz
Put a TLS reverse proxy you operate in front of the app for remote access.
Pricing and License of Skillbox (Skillbox pricing)
Skillbox is MIT-licensed open-source software, so you can self-host it for free and use, modify, and redistribute it under those terms.
Skillbox hosted vs self hosted comparison (Pricing, features, costs, and more)
Skillbox is free MIT software. You pay for infrastructure, and any Jev model usage is billed by your provider.
Monthly cost of self hosting Skillbox on Railway
Railway bills by usage, so the monthly cost depends on RAM, CPU, volume size and how long the app and Postgres services run.
System Requirements for Hosting Skillbox on a VPS
Skillbox needs Docker with Compose v2 and Bash, plus PostgreSQL 16. Keep the database on a private network.
Frequently Asked Questions (FAQs)
How do I sign in to Skillbox on Railway?
Open your Railway domain and paste the SKILLBOX_ADMIN_TOKEN value from the skillbox service's Variables tab into the login page.
Can I change SKILLBOX_ADMIN_TOKEN later?
Don't change it after setup. The token is also used to encrypt stored integration secrets, so changing it can make those saved credentials unreadable.
Is this the same as the Railway template titled SkillHub?
No.
Do I need an AI key at deploy time?
No.
What should I back up?
Back up the skillbox /app/data volume together with the skillbox-db Postgres volume.
Template Content
skillbox-db
ghcr.io/onepush-dev/skillbox-db:16.15
