Open-source, AI-native social media management, design and scheduling.
Postmill is a self-hostable social media scheduler for agencies and multi-brand teams: a visual publishing calendar, 45+ channels, 46 built-in media tools, and bring-your-own-key AI across 30 providers. Run it on infrastructure you control, and let every organization manage its own channels, brands, and AI keys. An open-source alternative to Buffer, Hootsuite, and Sprout Social.
Website Β· Docs Β· Quick Start Β· Node SDK (@postmill-ai/postmill-sdk) Β· Public API
Postmill brings design, publishing, analytics, and engagement into one workspace. Click any screenshot for the full-size view.
|
Design β designer canvas + video timeline, 45 media tools |
Post β calendar, 45+ channels, one composer |
|
Track β persisted multi-channel analytics |
Engage β cross-channel reply inbox |
That's the 30-second tour β the full feature tour, with every screen, lives in the documentation.
git clone https://github.com/postmill-ai/postmill-app.git
cd postmill-app
pnpm install
cp .env.example .env # then fill in your values
docker compose -f docker/docker-compose.dev.yaml up -d # postgres + redis
pnpm run dev:minimal # backend + frontendThe frontend runs on port 4200. That's the development stack; for production, use the published Docker image with the root docker-compose.yaml:
docker pull postmillai/postmill-app # Docker Hub
docker pull ghcr.io/postmill-ai/postmill-app # GitHub Container Registry (same image)Full setup, configuration reference, and deployment guide: documentation.
Channels connect through OAuth apps registered with each platform. To offer one-click connections on your installation, configure platform channel apps for the providers you want to support: register an app in the provider's developer portal, add the issued credentials to .env, and test with an authorized account. Some providers require app review before broader access and may ask for app details, screenshots, or a demo video.
Organizations can also connect channels with their own app keys, and direct-auth channels (API tokens, self-hosted instances) need no platform app at all. On Postmill's hosted service, platform apps are already configured, so one-click OAuth is available by default for supported channels.
A production-grade, layered editor inside your publishing workspace β no round-trips through Canva, Photoshop, or CapCut. People at home in professional design tools should feel at home here; people who aren't can start from a template or let the AI Designer drive.
- Image mode β a Photoshop-style layered canvas: rich text, shapes, pen and path tools, brushes, gradients, marquee/lasso/object selections, crop, clone stamp, blend modes, and brand-kit colors and fonts surfaced while you work.
- Video mode β a multi-track timeline (video, image, text, audio, captions) with trimming, splitting, transitions, keyframed motion (custom or one-click Ken Burns), speed ramps, reverse, freeze frames, filters and cinematic looks, fades, and volume envelopes β up to three minutes at 30 fps.
- AI generation without leaving the canvas β generate images, video, music, voiceovers, and avatar clips from inside the editor. Each prompt dialog uses your organization's default model, or drops down to any configured provider β Replicate, OpenAI, OpenRouter, HeyGen, Runway, and more β with that provider's own settings embedded. Results land directly on the canvas or timeline.
- AI edit tools β remove backgrounds, upscale, inpaint, expand images, auto-detect subjects, and replace images in place.
- Multi-format by design β one editable file holds every channel variant (square post, portrait reel, story, and more), each with its own aspect ratio and layout. Export any variant to the media library, or attach the whole set to a multi-channel scheduled post.
- Templates β save any design as a reusable, on-brand template for the team.
Prefer to describe the design than draw it? The AI Designer drives the same production workflow through a conversational creative agent β see 46 built-in media tools.
Month, week, and day views of scheduled, published, draft, and failed posts across every channel. Filter by channel, open a post to review its content and performance, or drag it within the week view to reschedule. Times follow each user's timezone.
Schedule and publish across 45+ social, chat, blogging, and email channels from a single composer. Native support for polls, first-comment automation, threads, per-channel settings, and channel-aware previews means each platform gets exactly what it expects β from a single write. Attach media from your library or create it in-app, pick a brand per post, and toggle link shortening per post with your organization's own short-link provider.
X Β· LinkedIn Β· LinkedIn Page Β· Reddit Β· Instagram Business Β· Instagram Standalone Β· Facebook Page Β· Threads Β· YouTube Β· Google My Business Β· TikTok Β· Pinterest Β· Dribbble Β· Discord Β· Slack Β· Kick Β· Twitch Β· Mastodon Β· Bluesky Β· Lemmy Β· Farcaster Β· Telegram Β· LINE Β· Matrix Β· Nostr Β· VK Β· Medium Β· Dev.to Β· Hashnode Β· WordPress Β· ListMonk Β· Moltbook Β· Whop Β· Skool Β· MeWe Β· Tumblr Β· Pixelfed Β· PeerTube Β· Akkoma Β· Discourse Β· Friendica Β· GoToSocial Β· Misskey Β· Odysee Β· Sharkey
Per-channel VPN routing is available for outbound publishing β each channel can optionally egress through its own configured VPN region.
Postmill is AI-native from the ground up. A single governed AI layer powers every surface, and you bring your own keys: 30 providers β 17 direct model providers plus 13 multi-model hubs and gateways β configured per organization, with no bundled credits, quotas, or metering.
Configure as many LLM and media providers as you like, then pick separate default models for text, vision, workflows, and media tasks β a specific LLM, or a model from a media provider such as Replicate, HeyGen, or Runway. Media tasks span image, video, audio, avatars, captions, and music, including editing and upscaling.
On top of that: brand-voice profiles, a shared prompt library, retrieval-augmented (RAG) search over your own content, guardrails for prompt injection, PII, brand safety, and NSFW content, and per-org spend caps with a full audit log. Every AI entry point is scoped, rate-limited, and budget-checked β a tenant's AI calls never fall back to a deployment-level key.
A natural-language assistant that operates the whole platform: schedule and reschedule posts, generate images, video, and voiceovers in any configured studio, pull analytics and best-time-to-post recommendations, manage campaigns, search your media library and stock sources, and reply to synced comments β all from one chat. Outward actions always go through an explicit confirmation card (a pre-filled composer, a draft reply, or a media job summary), so nothing publishes without your approval.
Use the agent in-app or from Slack, Telegram, Discord, Matrix, or LINE β the same connections deliver notifications for published and failed posts, comments, budgets, media jobs, and more, routed centrally across in-app, email, and chat.
Create, edit, generate, and source media without leaving Postmill. The media suite is 46 tools: two designers, 38 BYOK provider studios spanning image, video, audio, avatar, and music generation, and 6 stock browsers for photos, videos, vectors, stickers, audio, and icons.
The Designer is a layered image and video editor β a Konva canvas plus a full timeline β for people at home in Photoshop, Illustrator, or After Effects. The AI Designer drives the same production workflow through a conversational creative agent, for people who would rather describe the design than draw it.
Both are built for cross-channel publishing: one editable source file holds multiple channel-specific variants, each with its own aspect ratio, sizing, and layout. From a single design you can create a multi-channel scheduled post, save individual exports to your media library, or both. Every generated, uploaded, or sourced asset lands in the media library for reuse, on local or S3-compatible storage of your choosing.
Metrics are snapshotted daily and persisted, so you get real period-over-period trends instead of one-off live fetches. Drill into any channel, metric, or date range; see best-time-to-post heatmaps, prioritized recommendations, anomaly alerts, and a competitor watchlist β all normalized into a consistent cross-provider metric set.
Every reply on everything you publish, synced into one inbox. Reply directly, like or acknowledge, assign conversations to teammates, and draft responses with AI in the selected brand voice. Filter by unread, workflow state, sentiment, channel, or assignee, and bulk-mark-read β without bouncing between platform dashboards.
Take a campaign from first draft to client report in one workspace. Define a client or project, dates, tags, and measurable goals, then group posts, channels, media, and post templates under it. Create cross-channel drafts, approve or reject them, and move approved posts into the publishing queue; optional UTM tagging adds campaign, source, and medium parameters at publish time.
The hub tracks draft, scheduled, and published posts alongside views, likes, replies, clicks, per-channel performance, and progress toward goals, with campaign-scoped replies, an activity history, and a threaded team discussion. Share a read-only client report β KPIs, trends, channel breakdowns, goal progress β via a revocable link, or export it as PDF or CSV.
Manage distinct voices and visual identities for clients, products, or publications. Set a default brand, choose a brand per post in the composer, and give each one language- and channel-specific writing instructions so AI-assisted content stays in voice.
Each brand carries a reusable kit of colors, logos, fonts, reference images, and optional video intros and outros. The Designer surfaces the default brand's kit and flags off-brand colors and fonts; the AI Designer works from the selected brand's instructions, palette, and fonts.
Invite teammates by email or shareable link, or create accounts directly. Role-based access control starts with 5 built-in roles (Owner / Admin / Editor / Member / Viewer); build custom roles from a 90-permission catalog (18 resources Γ 5 actions) covering posts, media, channels, analytics, brands, billing, and more. Permissions are enforced server-side on every protected action.
Sign in with Google, GitHub, Apple, Facebook, X, LinkedIn, or any generic OIDC provider. Members can review their active sessions and revoke individual devices.
The full UI β composer, settings, media tools, analytics, and auth β ships in 16 languages: English, Arabic, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Turkish, Vietnamese, and Chinese.
Own your whole stack β posts, analytics, media, and provider credentials stay on infrastructure you control, deployed from the published Docker image (postmillai/postmill-app, mirrored at ghcr.io/postmill-ai/postmill-app) and Compose setup.
Security runs through the application: secrets are encrypted at rest with AES-256-GCM, data access is scoped to each organization, and requests to user-supplied URLs are SSRF-checked across DNS lookups and redirects. Cookie-authenticated changes require CSRF protection, and production security headers, a Content Security Policy, API rate limits, and strict request validation add further safeguards. Bring your own object storage (S3 / R2 / Backblaze B2 / IDrive), swap in pluggable email and short-link providers, and optionally route outbound posting through per-channel VPN egress.
Postmill exposes a Public API for programmatic scheduling, analytics, and channel management, an MCP surface for AI agents, and an official Node SDK β @postmill-ai/postmill-sdk. Built in: RSS auto-posting (turn any feed into a scheduled queue per channel) and outgoing webhooks that push publish events to your endpoints, per channel or account-wide. The Public API also connects Postmill to automation platforms such as n8n, Make, and Zapier. See the API docs to get started.
- pnpm workspaces (monorepo)
- Next.js (React, App Router)
- NestJS
- Prisma + PostgreSQL
- Inngest (background jobs)
- Redis
- Pluggable email, storage, short-link, and AI providers
Postmill publishes β and, where a platform supports it, retrieves comments and analytics β through each platform's official API, using OAuth flows the user completes directly with that platform. Available actions, permissions, and app-review requirements vary by provider; if you operate a deployment, you are responsible for meeting each provider's terms and securing the access it requires.
See Contributing for development and pull requests, and the Security Policy for private vulnerability reports. For setup and product questions, use the documentation or GitHub Discussions.
Postmill began as a fork of Postiz, the open-source social scheduling tool created by Nevo David and the Gitroom team. Huge thanks to them for the foundation this project is built on. Postmill has since grown into its own standalone, AI-native platform, but the original work made it possible.
Postmill's agentic foundations are built on open-source @reaatech packages from REAA Technologies, Postmill's original creator β including @reaatech/agent-mesh, @reaatech/guardrail-chain, @reaatech/hybrid-rag, @reaatech/agent-budget-*, and the @reaatech/media-pipeline-mcp-* suite. Our sincere thanks to REAA Technologies for building and open-sourcing them, and for bringing Postmill to life.
Postmill AI Inc. is a Nevada-based software company founded on a simple belief: powerful digital marketing tools shouldn't be a luxury reserved for businesses with big budgets.
Millions of small businesses, independent professionals, and creators lack the resources to hire designers, manage multiple software subscriptions, or invest in expensive AI services. Yet they face the same challenges as larger organizations when it comes to building their brands, reaching customers, and competing online.
We founded Postmill to change that.
Our mission is to make professional content creation, social media management, and AI-powered marketing accessible and affordable to everyone, regardless of technical expertise, location, or budget.
We believe in open-source software, freedom of choice, and empowering people with the tools to succeed on their own terms. Rather than adding another subscription to an already fragmented market, we're building a unified platform that removes barriers, reduces costs, and puts powerful capabilities within everyone's reach.
This repository's source code is available under the AGPL-3.0 license.