SocipubSocipub
FeaturesPricingBlog
Sign InGet Started
Socipub

Open source social media scheduler. Schedule posts to Twitter, LinkedIn & more.

Features

  • Multi-Platform Posting
  • Scheduling
  • Markdown Editor

About

  • Trust & Security
  • Privacy Policy
  • Terms of Service

© 2026 Socipub. Open source under the MIT license.

SocipubSocipub
FeaturesPricingBlog
Sign InGet Started
HomeBlogHow to Self-Host Socipub with Docker: Complete 2026 Guide

On this page

What Self-Hosting Socipub Actually RequiresThe 26 Environment Variables, GroupedThe Posting Route Worth KnowingWhat Changes vs. the Cloud VersionGetting Started

How to Self-Host Socipub with Docker: Complete 2026 Guide

2026-08-119 min read

Most open source schedulers advertise self-hosting, then bury you in docs written for their own engineering team. Socipub's README assumes you already know how to glue Next.js, Supabase, and OAuth together — so this guide works from the repository itself: the four migrations, the environment variables, and the API route that actually delivers scheduled posts. Everything below is checked against the code, nothing invented.

What Self-Hosting Socipub Actually Requires

Socipub is a Next.js 16 app (React 19) with a Supabase PostgreSQL backend. Self-hosting means reproducing three connected pieces, and all three are free-tier friendly:

  1. A Supabase project. The Supabase free tier fits comfortably: 500 MB database, two active projects. Socipub's schema ships as four migrations in the repo — 001_profiles, 002_social_accounts, 003_posts, 004_ai_credits — which you run against your project. That's the entire database layer; there's no separate DB server to babysit.

  2. A Next.js deployment. The frontend is a standard Next.js 16 app. The simplest path is a Vercel project pointed at your repo with the environment variables set. Because the whole app is just frontend + Supabase, any Node host works — the "Docker" part of self-hosting is only about containerizing the Next.js process, not the database. The repo has no drop-in docker-compose.yml, so if you want containers you'd wrap the Next.js build yourself; the database stays managed on Supabase either way.

  3. Social OAuth credentials. You need Twitter/X and LinkedIn developer app credentials. Those come from the platform developer portals and go into the environment variables, one pair per network — and there is no way around this, because posting to either platform requires an authorized token. Budget the API review time; platform approvals, not the code, are usually the slow step.

The 26 Environment Variables, Grouped

GroupVariablesPurpose
SupabaseSUPABASE_SERVICE_ROLE_KEY, NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEYDatabase connection; the public URL/anon key are safe in the client build
TwitterTWITTER_CLIENT_ID, TWITTER_CLIENT_SECRETOAuth for posting to X
LinkedInLINKEDIN_CLIENT_ID, LINKEDIN_CLIENT_SECRETOAuth for posting to LinkedIn
PaymentCREEM_API_KEY, CREEM_WEBHOOK_SECRET, five CREEM_PRODUCT_* price IDsCreem checkout and webhook verification; set the product IDs to the ones you created in your Creem dashboard
AppNEXT_PUBLIC_APP_URL, OPENCODE_API_KEYCanonical app URL for OAuth callbacks; AI backend key

Sixteen of the twenty-six are straightforward copies from dashboards. The decision points are the five Creem product IDs (matching your own price book) and the two OAuth secret pairs.

The Posting Route Worth Knowing

The scheduled post is delivered by an API route that reads the posts table (migration 003) and calls the network API for each due post with the account's stored token. If a post fails, it stays in the table in a retryable state rather than silently vanishing. When you're debugging a self-hosted setup, start here: check that the service-role key can read posts, confirm the token is fresh, and look at the route's logs for the exact error.

What Changes vs. the Cloud Version

AspectCloudSelf-hosted
Data locationEU region (Frankfurt)Your Supabase region, your choice
Effort to startSign up, connect accountsRun migrations, configure 26 env vars, two OAuth approvals
Cost at small scaleFree tier (5 posts/mo)Supabase free + Vercel free (subject to their limits)
MaintenanceNoneYou own deploys, env changes, and migration updates
AI featuresIncludedWork once OPENCODE_API_KEY is set

The honest trade-off: self-hosting buys you data locality and zero per-seat pricing, and it costs you setup time and ongoing maintenance. For a solo creator the cloud free tier is usually enough; self-hosting starts to pay when data residency is a requirement or you want unlimited posting under your own infrastructure.

Getting Started

  1. Create a Supabase project and run the four migrations in order.
  2. Create Twitter and LinkedIn developer apps and note the client IDs/secrets.
  3. Deploy the Next.js app to Vercel and set all 26 environment variables.
  4. Connect an account in the UI and schedule a test post.

For the privacy and compliance side of running your own instance, see our GDPR guide. And if you'd rather skip the setup entirely, the cloud version reaches the same scheduling features in five minutes.

self-hostingdockerguide

Related Articles

Why Open Source Social Media Matters in 2026

X's API price hike, TweetDeck's paywall, Buffer's free-tier cuts — three data points that make open source scheduling the durable choice for daily publishers.

2026-08-16

Free Social Media Calendar Template: Notion + Google Sheets

Free social media calendar template for Notion and Google Sheets: 12 columns that survive real use plus a CSV bridge into the Socipub scheduler.

2026-08-12

Zoho Social Free Plan: What You Get, Limits & When to Upgrade

Zoho Social's free plan: 6 channels, 1 brand, 5 AI credits. See what's included, where the limits hurt, and when to upgrade or switch to open source Socipub.

2026-08-10
Socipub

Open source social media scheduler. Schedule posts to Twitter, LinkedIn & more.

Features

  • Multi-Platform Posting
  • Scheduling
  • Markdown Editor

About

  • Trust & Security
  • Privacy Policy
  • Terms of Service

© 2026 Socipub. Open source under the MIT license.