Local-first doesn't mean stuck on your laptop. Because Crossposter is just a Node/Next.js process with file-based state, you can self-host it anywhere and reach it from a browser.
The one thing that actually matters for scheduling: the scheduler only fires while the server process is running. So the deployment question is really "how do I keep the process up?"
Three paths I use and document:
- Local Mac: a macOS auto-start service keeps
http://localhost:2004alive after login. - Small VPS: run the Node service under your usual process manager, with a persistent disk so
poster.config.local.json, uploads, and sessions survive restarts. - Render: same idea, a long-running Node service with persistent disk.
The persistent-disk point is the gotcha. Since there's no database, your config, scheduled queue, media, and login sessions all live on disk. Ephemeral filesystems will wipe your sessions and you'll be re-logging into X/Instagram. Mount a disk and you're fine.
If the server is offline when a scheduled post is due, it publishes the next time the process starts and the tick runs. No cloud worker compensates for downtime, by design.
It's the self-hosted alternative to a Buffer/Hootsuite-style stack, minus the stack.
This post published through Crossposter.
United States
NORTH AMERICA
Related News
Secret Claude Tracker Shocks Users After Anthropic's Anti-Surveillance Stance
12h ago
EV Batteries Defy Expectations, Last Hundreds of Thousands of Miles
1d ago
GBase 8a Performance Anomaly Case Study: How a Single Parameter Change Sparked a Chain Reaction
1d ago
Who Else Has Inherited a Codebase With Zero Comments and a Prayer?
1d ago
完美的平庸
3h ago