Self-hosted store engine: your VPS, your data, no turnover cut
A self-hosted store engine is a store engine you install on a VPS you rent and fully control: the database, media files, orders, and buyers' personal data physically sit on your own server. No renting a storefront, no platform commission on turnover, and no third-party account someone else can shut you out of.
NitroCart is exactly that kind of engine. Below: how a self-hosted store differs from SaaS and classic PHP builds, what's included in the engine, who actually needs it, and the order you launch one in.
What a self-hosted store engine is
The difference between launch options comes down to who owns the infrastructure and who takes a cut of the revenue.
A SaaS platform (Shopify, Tilda, and similar). You rent the storefront. Data sits with the vendor, part of the platform's code can't be removed, and the plan is often topped off with a sales commission. Your account is a single point of failure: a locked-out dashboard means a stopped store.
A classic CMS (WordPress + WooCommerce, OpenCart). The server is yours, but you assemble the store from a core, a theme, and a dozen plugins. Every plugin brings its own CSS and JS, its own conflicts, and its own point of risk on update.
A self-hosted engine. The store arrives assembled: storefront, cart, checkout, admin panel, traffic analytics, and updates — in one contour, on your own server. You pay for a license to the engine, not a percentage of every order.
NitroCart is the third type, and it's licensed by the number of concurrent IPs, not by turnover: Start — 1, Pro — 5, Enterprise — 15 active copies of the engine on your VDS. A full breakdown of this model is in One license, up to 15 VPS: copy economics vs SaaS.
What's included in the engine
The point of going self-hosted disappears if you still have to buy a module for every feature. So the typical stack a store owner needs is closed in the core:
- Four store formats — Catalog, Landing one, Landing multi, and Tickets. The format switches in the admin panel with one click, no reinstall and no data migration. A breakdown of the formats is in Four formats: Catalog, Landing one, Landing multi, Tickets.
- Cart and checkout with configurable fields, promo codes, and shipping.
- Payments by URL and API — bank acquiring or an international provider for your region, with no lock-in to one vendor. See Self-hosted checkout: payments by URL and API.
- Traffic attribution out of the box — recognizing ad networks, search, social, and AI referrers with no third-party analytics. See Traffic attribution in ecommerce: networks, search, social, AI-referrer.
- A traffic quality filter — which sources are allowed through to checkout. See Traffic-quality filter before checkout.
- Telegram notifications for orders and abandoned carts — see Telegram notifications: order, cart, abandoned cart.
- SEO with no agency — sitemap, JSON-LD, search engine verification codes, a blog. See Built-in SEO: sitemap, JSON-LD, blog.
- Markup uniqueness — every install gets its own map of CSS/JS classes, its own cookie names, and file hashes. See Store markup uniqueness: your CSS/JS map, light HTML.
- Your own code in every format — HTML, CSS, JS, and pixels with no theme limits. See Custom HTML, CSS, JS and pixels in every format.
Who needs a store on their own server
Self-hosted isn't the right call for everyone. It pays off where fast storefront switching, no commission, and control over data actually matter.
Media buyers and affiliates. An offer lives for weeks, not years. You need to stand up a storefront for a specific offer and GEO, pull data from live traffic, and move on. More in Store engine for media buyers: test offers, keep the stack.
Dropshippers and resellers. The product is someone else's; the storefront is yours. A platform commission here eats directly into an already-thin margin. See Dropshipping on your own VPS: no Shopify apps tax and Reseller: someone else's catalog, your store.
Owners of several small brands. One engine and one license run several storefronts — see Several small brands, one engine, one license.
Event organizers. The Tickets format covers seat selection by sector and row and a printable QR ticket — see Self-hosted event ticketing system.
There's a flip side too: your own server means your own OS updates, backups, and domain. An honest look at the limits is in When NitroCart is not a fit.
The order you launch in
- Rent a VPS. Ubuntu 22.04 or 24.04 works. Cost reference: around $10/month from an ordinary host.
- Buy the license in the Telegram Mini App and get your key.
- Run the auto-install — from the Mini App. Install takes about 5 minutes; you don't hand-assemble PHP or plugins. See Deploy a store from 15 minutes: Telegram Mini App.
- Pick the format, theme, currency, and payment URL in the admin panel.
- Point the domain — a Cloudflare A record points to your VDS's IP. The license and data aren't touched. See Switch domain via Cloudflare without reinstall.
- Lock the admin panel to your IP if you want to — see IP-lock for ecommerce admin.
From payment to an open storefront on a working domain typically takes about 15 minutes. The next store on the same server goes up faster — the engine is already deployed.
Updates and security
A self-hosted setup usually has two weak spots: updates and attack surface. In NitroCart, both are kept to a narrow contour.
Updates arrive as a Docker image on the already-running store — no full reinstall and no public add-on marketplace pulling in someone else's code. A comparison with the plugin model is in Docker and patches: a closed update contour.
The attack surface is narrow by design: there's no dozen third-party plugins, each with its own vulnerability cycle. During install you can restrict server and admin access to your own IP.
One more question: what happens if the license check server is briefly unreachable. The store keeps taking orders — a grace period applies, so the storefront doesn't go down over a network hiccup on the licensing side.
What it costs
The direct costs of running a self-hosted store break down into three items: the engine license, the VPS, and the domain.
- License: Start from $99/mo (1 store), Pro from $199/mo (up to 5), Enterprise from $399/mo (up to 15); yearly billing is 25% cheaper.
- VPS: reference cost ~$10/month per copy.
- Domain: reference cost ~$10/year.
The key difference from SaaS is no commission on turnover: growing sales doesn't grow your platform bill. At fifteen concurrent stores on Enterprise billed yearly, the license comes out to around $20 per store a month. A full breakdown with time on tech work is in What you save rotating offers on your own VPS and Shopify vs NitroCart for paid traffic.
FAQ
Do I need to assemble PHP and plugins?
No. The install is automatic: the engine deploys in a Docker contour on your VPS from the Telegram Mini App. From there you configure the store in the admin panel, with no code to touch.
Where does the store's data physically live?
On your VPS: the database, media files, orders, and buyers' personal data. The vendor doesn't need access to your database for the engine to run.
How many stores can I run on one license?
1 on Start, up to 5 on Pro, up to 15 on Enterprise — counted as concurrently active IPs. One IP is one running copy of the engine on one of your VDS.
Does it take a cut of sales?
No. You only pay for the engine license. Turnover, average order value, and order count don't affect the license price.
Can I switch the domain without a reinstall?
Yes. A domain or subdomain is repointed through Cloudflare to the same IP — the store, license, and data stay untouched.
What happens to the store when the license runs out?
The server, database, domain, and all content stay with you — they live on your VDS. To keep the engine running, the license needs to be renewed.
Do I need a developer?
Not to launch — no. Install is automatic, content, interface text, and styling are edited in the admin panel. A developer is only needed for work beyond the built-in features.
Next: Dropshipping on your own VPS: no Shopify apps tax, IP-lock for ecommerce admin, Docker and patches: a closed update contour.
How much it costs
NitroCart is a license, not a subscription with a cut of your sales. Three plans, billed monthly, quarterly (up to −10%) or yearly (−25%):
- Start — from $99/mo ($890/year, ≈$74/mo), 1 store.
- Pro — from $199/mo ($1,790/year, ≈$149/mo), up to 5 concurrent stores.
- Enterprise — from $399/mo ($3,590/year, ≈$299/mo), up to 15 concurrent stores.