
Self-hosting Cockpit the easy way
Yulei ChenCockpit is a lightweight, self-hosted headless CMS built for developers. It gives you a clean API to manage structured content without the bloat of a full-blown CMS. No database server required - Cockpit uses SQLite out of the box. If you need a simple, fast, and flexible content backend for your website, app, or any project, Cockpit is a solid choice.
Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Cockpit up and running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server (If you just signed up you get a 48-hour free trial server)
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Cockpit preset. Here's what's included:
- Cockpit Core image (
cockpithq/cockpit:core-2.14.0) - the free, open-source edition - Three persistent volumes for config, spaces, and file storage
- Built-in SQLite - no external database needed
- Healthcheck configured at
/api/system/healthcheckfor automatic monitoring
Next steps
Once Cockpit is running on Sliplane, open the domain Sliplane assigned (e.g. cockpit-xxxx.sliplane.app).
Initial setup
The first time you visit Cockpit, you'll be prompted to create an admin account. Pick a strong username and password - this becomes the main admin user for your instance.
Content modeling
Cockpit organizes content into Models (structured collections of items) and Singletons (one-off content entries). Head to the admin panel and start creating your content structure. The API is automatically generated based on your models.
API access
Cockpit exposes a REST and GraphQL API out of the box. You can find your API credentials under Settings > API Access in the admin panel. Use API keys to fetch content from your frontend, static site generator, or mobile app.
Environment variables
Cockpit works out of the box without any environment variables. If you need to customize the setup, you can add environment variables in the Sliplane service settings. Some useful options:
| Variable | Description |
|---|---|
COCKPIT_SESSION_LIFETIME | Session duration in minutes (default: 120) |
COCKPIT_CORS_ALLOW_ORIGINS | Allowed CORS origins for API requests |
Logging
Cockpit logs to STDOUT by default, which works well with Sliplane's built-in log viewer. For general Docker log tips, check out our post on how to use Docker logs.
Cost comparison
You can also self-host Cockpit with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flat rate, 1 TB bandwidth, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB bandwidth, Disk billed separately |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 plan | Pro plan floor, usage-based, bandwidth billed separately |
Click here to see how these numbers were calculated.
(Assuming an always-on instance running 730 hrs/month)
- Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
- Fly.io:
shared-cpu-2x2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU). - Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
- Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.
Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.
FAQ
What kind of content can I manage with Cockpit?
Cockpit handles any structured content: blog posts, product listings, team pages, settings, translations, and more. You define your own content models with custom fields (text, images, dates, relations, etc.) and Cockpit generates the API automatically.
How do I configure Cockpit for multiple projects?
Cockpit supports Spaces, which let you run multiple isolated content projects from a single instance. Each space gets its own models, content, and API keys. You can manage spaces from the admin panel.
How do I update Cockpit?
Change the image tag in your Sliplane service settings (e.g. from core-2.14.0 to a newer version) and redeploy. Check Docker Hub for the latest stable version. Your data is stored in persistent volumes, so it survives updates.
Are there alternatives to Cockpit?
Yes. Popular headless CMS options include Strapi (Node.js-based with a visual content builder), Directus (wraps any SQL database with an API), and Payload CMS (TypeScript-first). Each has different trade-offs around complexity, database requirements, and ecosystem.
Does Cockpit support file uploads?
Yes. Cockpit has a built-in asset manager for uploading and organizing files like images, documents, and videos. Uploaded files are stored in the /var/www/html/storage directory, which is persisted via a Docker volume in the Sliplane preset.