Strapi VPS HostingYour Headless CMS on Your Own Server
Strapi gives your front end a content API and your editors an admin panel. On a VPS it runs as a Node.js process under PM2 with PostgreSQL behind it. We install the stack and HTTPS on a hardened KVM VPS; you deploy your Strapi project.
Full root & SSH NVMe storage Daily backups Anti-DDoS 99.9% uptime SLA 11 locations
-
Reserved vCores and RAM
API and admin panel on resources that are yours.
-
Root and SSH access
Node version, plugins and server config.
-
NVMe storage
Fast media uploads and database queries.
-
Daily backups
Automatic backup of the previous 24 hours.
Why Self-Host Strapi on a VPS
Strapi Community Edition is free and open source. A VPS runs it for a flat price, without the seat or API-call limits of a hosted plan.
-
No seat or API-call tiers
Add editors, content types and API traffic without moving up a pricing tier.
-
Custom plugins and code
Install plugins and write your own controllers, services and middlewares.
-
The database you choose
PostgreSQL or MySQL on the same server, over localhost.
-
Your front end next door
Run a Next.js or Nuxt front end on the same VPS, calling Strapi over localhost.
How Self-Hosted Strapi Runs
NGINX in front of a Node.js Strapi process, with the database and media behind it.
Request from a browser or app (HTTPS)
-
Reverse proxy
NGINX
HTTPS for the admin panel and the API, plus uploaded media.
-
Application
Strapi under PM2
Content API, admin panel and plugins, built for production.
-
Database
PostgreSQL or MySQL
Content types, entries and users.
-
Media
Local uploads or S3-compatible storage
Images and files on NVMe, or in object storage through a provider plugin.
Worth knowing
- Build the admin panel with npm run build and run with NODE_ENV=production.
- The Content-Type Builder is disabled in production: change schemas in development and deploy them as code.
- Set the public URL and proxy settings so admin links and media URLs are correct behind NGINX.
- Keep APP_KEYS, JWT secrets and the database password in .env, outside the repository.
What You Can Run
-
Content for Next.js and Nuxt sites
A content API for statically generated or server-rendered sites.
-
Mobile app back ends
Structured content and user data for iOS and Android apps.
-
Multi-site content hubs
One CMS feeding several websites and apps.
-
Multilingual content
Localised entries with Strapi's internationalisation features.
-
Product catalogues
Structured product data for a storefront.
-
Editor-built landing pages
Dynamic zones that let editors compose pages from blocks.
VPS Plans for Strapi
VPS-1 runs Strapi with PostgreSQL. Choose VPS-2 if you build on the server or run your front end alongside it.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Which Plan for Your Strapi Project
Building Strapi's admin panel needs more memory than running it, so plan for builds if they happen on the server.
| Workload | Start with | Why |
|---|---|---|
| Strapi for one site | VPS-1 2 vCores · 4 GB RAM | Strapi, PostgreSQL and NGINX. |
| Strapi plus a Next.js or Nuxt front end | VPS-2 4 vCores · 8 GB RAM | 8 GB for both processes and builds. |
| Busy API or a large media library | VPS-3 6 vCores · 12 GB RAM | More vCores and 100 GB NVMe. |
| Several projects | VPS-4 8 vCores · 24 GB RAM | 24 GB RAM and 200 GB NVMe. |
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
Hosted Headless CMS or Self-Hosted Strapi?
A hosted CMS removes server work. Self-hosting removes pricing tiers and limits on custom code.
| Feature | Hosted headless CMS | Strapi VPS |
|---|---|---|
| Pricing | Plans by seats, entries or API calls | Flat server cost |
| Custom code and plugins | Within the platform's limits | Anything |
| Database | Managed for you | Your own PostgreSQL or MySQL |
| Updates and backups | Handled for you | Yours, plus the daily VPS backup |
| Server administration | Handled by the provider | Yours, after our free setup |
| Best for | Teams that want no server work | Developers who want control and flat costs |
| See Plans |
Your First Strapi Deploy
Clone your project, configure it, build the admin panel and start it under PM2.
-
Clone and install
Reproducible installs from your lockfile.
-
Configure the environment
Database, secrets and public URL in .env.
-
Build the admin panel
A production build of the admin UI.
-
Start under PM2
Starts on boot and restarts on failure.
# 1. Clone and install
git clone [email protected]:you/cms.git ~/cms && cd ~/cms
npm ci
# 2. Configure the environment
cp .env.example .env && nano .env
# 3. Build the admin panel
NODE_ENV=production npm run build
# 4. Start under PM2
NODE_ENV=production pm2 start npm --name strapi -- start
pm2 save
Example commands; adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do (or ask us for a quote).
Installed and Secured Before You Log In
The VPS is unmanaged: after handover the server is yours to run. Before that, our engineers do the first setup once, free, so you start from a hardened server with Strapi in place.
-
Choose a plan and location
Pick the resources you need and the datacentre closest to your users.
-
Tell us your Strapi setup
Versions, database and domain: at order or right after.
-
We install and secure it
Server hardened, Strapi installed and tested, HTTPS on your domain.
-
You take over with root
SSH access to a working server, ready for your code and data.
Your Strapi stack
- Node.js LTS, a version Strapi supports, and PM2
- PostgreSQL or MySQL with a database for Strapi
- NGINX reverse proxy with an upload size set for media
- HTTPS with Let's Encrypt on your domain
- A new Strapi project on request, or a server ready for yours
Yours to run after handover
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Not included in the free setup, but we can quote for it. No control panel by default: CloudPanel, HestiaCP or Virtualmin on request at no cost; cPanel and Plesk need their own licence.
Platform Specs and Locations
The same KVM platform on every plan; only the CPU, RAM, storage and port speed change.
| Virtualisation | KVM with reserved vCores and RAM |
|---|---|
| Storage | NVMe SSD on every plan |
| Network | Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan |
| Operating systems | Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD |
| Access | Full root over SSH, key-based login |
| Backups | Automatic daily backup of the previous 24 hours; snapshots and longer retention on request |
| Protection | Always-on anti-DDoS mitigation |
| Availability | 99.9% uptime SLA |
Secured before we hand it over
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Who a Strapi VPS Suits
-
Front-end teams
A content API for Next.js, Nuxt or mobile apps.
-
Agencies
A CMS per client on one server.
-
Teams leaving hosted CMS plans
Projects where seat or API pricing has added up.
Security and Performance for Strapi
Security
- Limit admin users and use strong passwords.
- Set API permissions per role and keep the public role minimal.
- Keep Strapi and its plugins updated.
- Never commit .env secrets to the repository.
Performance
- Build in CI if builds slow the live server.
- Populate relations selectively: deep population makes slow queries.
- Cache API responses in your front end or with a CDN.
- Serve media through NGINX or object storage.
Questions Before You Deploy
Not covered here? Ask an engineer before you order.
Run Strapi on Your Own Server
Choose a plan and we hand over Node.js, PM2, PostgreSQL and HTTPS, ready for your Strapi project.