Self-hosting Cockpit the easy way

Self-hosting Cockpit the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
4 min

Cockpit 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.

SliplaneDeploy Cockpit >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. 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/healthcheck for 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:

VariableDescription
COCKPIT_SESSION_LIFETIMESession duration in minutes (default: 120)
COCKPIT_CORS_ALLOW_ORIGINSAllowed 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:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro 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-2x 2 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.

Self-host Cockpit now - It's easy!

Sliplane gives you everything you need to run Cockpit without server hassle.