The scheduler command ran every minute and loaded all active automations, then filtered by trigger_type in PHP because that value lived buried in the nodes JSON array — effectively a full-table scan plus a JSON decode per row each minute, discarding every non-schedule automation. Derive trigger_type into a real, indexed column on save (recomputed in the existing saving() hook so it can never drift from nodes) and filter on it in SQL. Applies to both the schedule firer and the post-trigger dispatcher. |
||
|---|---|---|
| .claude | ||
| .cursor/rules | ||
| .github | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docker | ||
| lang | ||
| maizzle | ||
| public | ||
| releases | ||
| resources | ||
| routes | ||
| storage | ||
| stubs | ||
| templates | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.ci | ||
| .env.example | ||
| .env.testing | ||
| .gitattributes | ||
| .gitignore | ||
| .mcp.json | ||
| .prettierignore | ||
| .prettierrc | ||
| artisan | ||
| boost.json | ||
| Caddyfile | ||
| CLAUDE.md | ||
| components.json | ||
| compose.override.yaml.example | ||
| compose.prod.yaml | ||
| compose.yaml | ||
| composer.json | ||
| composer.lock | ||
| eslint.config.js | ||
| GEMINI.md | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| pint.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
The open-source alternative to Buffer, Hootsuite, and Later.
Schedule, write, and publish to every social network from one place.
Self-hosted. Built for teams, agencies, and creators who own their data.
Cloud • Documentation • Roadmap • Community
TryPost 1.0 is here
A massive release that turns TryPost into a complete open-source social media platform.
- MCP Server — connect Claude, Cursor, ChatGPT, and any MCP client. Schedule, publish, and pull metrics with natural language.
- REST API — Personal Access Tokens, every workflow you can do in the dashboard, available over HTTP.
- Workspaces & Teams — manage multiple brands or clients in isolated environments. Invite team members with role-based permissions.
- AI Carousel Generator — type a prompt, get a multi-slide LinkedIn / Instagram carousel back, with images and copy on-brand.
- Brand Profile — set tone, voice, language, and colors once. Every AI generation respects them automatically.
- Analytics — per-account engagement metrics from every platform that exposes them, in a single dashboard.
Read the release notes →
Why TryPost
Tired of paying $30–$200/month per user for a scheduler? Tired of your content sitting on someone else's database?
| Self-hosted, your data | Your posts, drafts, and metrics never leave your server |
| No artificial limits | Unlimited posts, unlimited connected accounts, unlimited workspaces |
| AI built in | Captions, carousels, on-brand voice — using your own keys |
| Multi-tenant ready | Workspaces + roles for agencies managing many clients |
| API + MCP first-class | Automate everything; your AI assistant can post for you |
| AGPL-licensed | Inspect every line, fork it, ship it — forever free |
Features
| Visual Calendar | See every scheduled post at a glance, switch between month/week/day |
| Multi-Platform Composer | One draft → preview & tweak for every network in parallel |
| AI Generate / Review | Draft from a prompt, get inline feedback before you publish |
| AI Carousel Builder | Prompt → multi-slide carousel with images, on-brand |
| Brand Profile | Tone, voice, language, colors — applied to every AI call |
| Asset Library | Reusable workspace media + Unsplash & Giphy search built in |
| Signatures & Labels | Reusable text blocks (hashtags, CTAs) and color-coded post tags |
| Team Collaboration | Owner / Admin / Member roles, comments with @mentions on drafts |
| Workspaces | Isolate brands, clients, or projects in their own spaces |
| REST API + MCP | Full programmatic control; AI assistants integrate natively |
| Analytics | Per-account engagement metrics across every supported platform |
| Multi-language | English, Spanish, Portuguese |
Supported Platforms
X (Twitter) |
TikTok |
|||
YouTube |
Threads |
Bluesky |
Mastodon |
Get Started
| Try it on Cloud | The fastest way. Sign up at trypost.it |
| Self-host | Free forever. Installation guide → |
| Run with AI assistants | Connect Claude / Cursor / ChatGPT via MCP → |
Contributing
We love contributions, no matter how small. Pick an issue, say hi in Discussions, or just open a PR with what you'd like to see.
If TryPost is useful to you, a star helps more people find it. That's the most valuable contribution if you're short on time.
License
GNU Affero General Public License v3.0 — use, modify, fork, self-host, and redistribute, including commercially. If you run a modified version as a network service, you need to make your changes available to its users (AGPL §13).
Built openly by the community. Star us on GitHub and tell a friend.
Star History