📢 Shared Storage as you know it is gone, say hello to managed SeaweedFS
As announced with Local Storage, Shared Storage has been retired as a platform-managed service type. This is the follow-up: the switch has now happened.
⟩ What changed
Every existing Shared Storage service has been converted in place to a managed SeaweedFS service (`[email protected]`). Same containers, same data, same network endpoints - nothing was restarted or moved, only the service type changed. New SeaweedFS services can be created like any other managed service, in HA or single-container mode.
What's gone is the platform-managed part: the GUI connection UI and the connect/disconnect API no longer exist. Zerops no longer decides which runtime mounts what - you do, inside your runtime.
⟩ Backwards compatibility (best effort)
Runtimes that had a Shared Storage connected keep working. The mount now lives in the `zeropsSharedStorageMounts` environment variable on the runtime service - a plain, editable env var holding a `|`-separated list of storage hostnames. As long as it's set, Zerops keeps mounting the storage into your containers the old way, and a deprecation warning shows up in the runtime log.
This is a compatibility bridge, not the way forward. It will keep working for now, but we encourage you to migrate off it.
⟩ How to migrate
Take ownership of the mount inside your runtime - either one line in `zerops.yaml` `initCommands` (see the screenshot) or a raw `weed mount` start command if you want full control - then delete the `zeropsSharedStorageMounts` env var and deploy. Full walkthrough, including the raw mount recipe and RAM-tuning flags:
https://t.co/NKorZTF5Hd
If your workload needs file locking, SQLite, or generally a real local filesystem, migrate to Local Storage instead - it remains the recommended target for those: https://t.co/a2KpzKQsXX
⟩ Import yaml notes
• `type: shared-storage@...` in import yamls still works as an alias and creates a SeaweedFS service.
• The `mount`: field is no longer accepted - mounting is done from inside the runtime as shown above.
💡Not sure which storage fits? https://t.co/CJHuNxgv8P
🤝 P.S. We first share this type of news on Discord. Join us https://t.co/JaAdum0jGy
A great day at the Commit Your Code Conference! 🔥
So many people stopped by the booth, chatted with Petra and Francesco, and 75 people signed up for tomorrow’s raffle!
Check out our workshop tomorrow at 3:30 PM Dallas time, and stop by for some swag.
See you tomorrow!
The last 3 days:
• 1000+ new sign-ups
• 10000 build & deploy pipelines triggered
• 250+ valid projects for the Zerops x @WeMakeDevs challenge
Stay tuned for more.
More hackathons.
More features.
Most platforms stop you long before Kubernetes.
No multiple processes, no system packages, no SSH into prod.
Jan Skalla, in an interview with @FrancescoCiull4, explains what changes when the boundary sits somewhere else.
https://t.co/doSS1eJ2SX
Most AI coding agents stop at "here's the code."
ZCP changes that. It's an MCP server that gives your agent real control over a Zerops project.
A task ends on a live URL it confirmed.
New Zerops quickstart is live.
Deploy a real app in 5 min:
✓ Managed PostgreSQL
✓ A public URL
✓ Auto-deploy on every git push
Finish it, click the button, and you're added to a live wall of everyone who did. It's a real app!
https://t.co/icb7GAvDW7
I built a self-hosted dashboard that exports your Zerops service backups to any S3-compatible storage — scheduled, tag-filtered, with live progress. One-shot by ZCP, using Claude Code.
Deploys as a Zerops recipe.
https://t.co/5qRZ8FIk5K
I can confirm models can indeed do stuff.
But imagine a platform where you use real IDE, Claude Code, your subscription. A place where the main point is not to generate something with as few prompts as possible, but to build and maintain scalable production systems. 🤔
@zeropsio
In our opinion this is half right, Oleg.
The "hard to do" part is getting easier, the on-call rotation at year three isn't. Skill barrier drops, time barrier doesn't, and that's the one that wears teams down.
Where this thesis holds up best is "managed underneath, owned at the app layer."
The dedicated logger service inside every Zerops project is now using VictoriaLogs.
- 100x more log retention
- 3x faster queries
- VictoriaLogs UI embedded into Zerops
- Already rolled out to every existing project
Full story below.
Jan Skalla's write-up of last week's kernel CVE.
What algif_aead + splice() actually does to the page cache and why it lands deterministically on every distro.
Our node-by-node rollout across two regions, including the call to deliberately slow it down mid-flight.
And why HA services rode through emergency kernel maintenance without a single alert, while non-HA took a brief blip.
Link below.
Zerops is a developer-first Platform-as-a-Service built from scratch on bare metal.
It strives to offer the ideal combination of developer experience, flexibility, scalability, and affordability, making it suitable for applications of any size, complexity, or traffic.
It’s a Postgres Party! 🐘🎉🎈
We’ve officially rolled out Postgres v18 support!
But we didn't stop there, we brought gifts. 🎁
You can now use these extensions on all newly created services:
✅ pg_jsonschema
✅ timescaledb
Time to spin up a fresh DB and start building! 🚀
While working on @zeropsio, I'm finding that simplifying things works better for me more and more often. The only disadvantage is that in order to make things simpler, you first need to make them complex. I'm curious when I'll manage to skip that first step 🙂.
28 Weeks Later 👀
Over 6 months ago we acquired and re-launched Zerops, a platform we've been developing since 2019. And we worked hard to add support for new services, improve developer experience, flexibility and our infrastructure layer.
See our 2024 recap / 2025 plans 👇