Strapi 5.52.1 Content
Free credit available Limited time

Strapi hosting Strapi and Postgres on one server, always on.

Strapi hosting on Selfhost.dev puts Strapi 5 and its own PostgreSQL 16 on a dedicated server we provision, secure and run. Postgres is connected before Strapi first starts. The server stays on when traffic is quiet, so your content API never waits on a sleeping instance.

Two containers on one server. No per-project fee, no metered API requests.

One click. Two containers. The template deploys in about six minutes.

+$5.00 added at signup · deployment choice preserved · no card

What the one click sets up before your first content type.
In one line

What is Strapi hosting?

What it is

Strapi is an open source headless CMS: you model content in an admin panel and it serves that content through REST, with GraphQL available through an optional plugin. Strapi hosting is the server, database and HTTPS it needs to run.

Who it is for

Developers and agencies building sites or apps on Strapi who want the API on a server they control, without a plan priced per project.

When to use it

When one always-on server should carry the admin panel and the API. If you need a global CDN or a contractual uptime SLA, Strapi Cloud fits better.

Containers

Strapi Docker, set up with Postgres

Strapi Docker setups pair a Strapi container with a database container, then leave you the secrets, volumes and proxy. This template runs Strapi 5.52.1 and PostgreSQL 16 as two containers, with four volumes and five secrets generated and kept before the first boot.

Five secrets, kept across redeploys

JWT_SECRET, ADMIN_JWT_SECRET, APP_KEYS, API_TOKEN_SALT and TRANSFER_TOKEN_SALT are generated separately and persisted. Upstream reuses one value for two of them and omits the salts, which invalidates issued API tokens on a redeploy.

The stack, end to end

Callers

Your frontend, your editors and your API clients

Edge

TLS and routing

Your project server
Container

Strapi 5.52.1

Container

PostgreSQL 16

Volume

strapi-uploads

Platform secrets

Five secrets

Component manifest
ComponentImageWhat it does
Strapi elestio/strapi-development:v5.52.1Admin panel and content API on port 1337
PostgreSQL postgres:16-alpineThe content database, on major version 16
Volumes strapi-config, strapi-src, strapi-uploads, strapi-postgresql-dataConfig, content-type schemas, media and the database
Port 5432 stays inside the server. Deploy the stack
Database

Strapi Postgres, connected before first boot

Strapi Postgres setups usually take five steps: create the database, choose Postgres in the installer, write the database config, fill the DATABASE variables and keep port 5432 private. Here the template sets them for its bundled PostgreSQL 16 before Strapi first starts, so the admin panel opens on Postgres, not SQLite.

Strapi with Postgres, by handStrapi Postgres on Selfhost.dev
Create a PostgreSQL database and user firstPostgreSQL 16 runs in its own container beside Strapi
Set DATABASE_CLIENT=postgres and the other DATABASE_* valuesSet before first boot
Point config/database at the production databaseAlready pointed at the bundled database
Keep port 5432 off the internetThe firewall opens only 22, 80 and 443
Move off SQLite once content piles upPostgres from the first entry; Strapi builds its own tables

Why not SQLite

SQLite keeps everything in one file. Strapi's data docs note that a SQLite destination blocks other connections during a transfer. A live file is also harder to back up cleanly than a database pg_dump can read while it runs.

Server

Strapi hosting requirements

Strapi hosting requirements here are two light containers behind HTTPS: Strapi 5 on Node and PostgreSQL 16. Neither needs much memory, so 4 GB, the smallest server we offer, is the size we recommend. Uploaded media lands on the server disk, which is the part to plan around.

What it needs

Strapi
5.52.1, pinned
Database
PostgreSQL 16 in its own container
Memory and CPU
4 GB, 2 cores; x86 or ARM
What a 4 GB server handles
Other apps can share the server if its memory and disk capacity allow
Not configured
Content types, API permissions and an email provider
Server size: 4 GB, enough for Strapi. Deploy on a 4 GB server
Quickstart

How to deploy Strapi in 3 steps

Two containers, one server, no database to wire.

  1. Choose Strapi and a 4 GB server

    The Launch button opens this exact template in the console. Pick one of six locations and submit; the template deploys in about six minutes.

  2. Register the administrator right after deploying

    Open your Strapi address at /admin and create the first account. Registration closes once it exists, so claim it before you share the address.

  3. Model content, then open the API

    Build content types in the builder, then grant roles and permissions so /api/* answers. Until you do, the content API returns 403 or 404, by design.

Deploy StrapiStep 1 starts in the console.
Launch Strapi
Billing

Strapi pricing on your own server

Strapi pricing here is one server rate. Strapi is free software and the template adds no fee; API requests, editors and bandwidth are never metered. A European 4 GB server runs Strapi and Postgres at $0.02/hr, about $15 to $16 a month, billed by the hour against prepaid credits.

$0.02
/hr, about $15 to $16 a month at 730 hours
European 4 GB server, $0.02/hr Deploy Strapi
What else you pay for
ItemCost
Strapi and PostgreSQL$0
API requests and editors$0 at any number
A second project on the same server$0
Bandwidth$0, traffic is included in the server price
Optional daily backups+20% of the server price
ServerRAM, cores, diskWhereRateAbout a month
cx23 (recommended)4 GB, 2 cores, 40 GBEurope$0.02/hr$15.18
cax11 (ARM)4 GB, 2 cores, 40 GBEurope$0.02/hr$16.35
cx33 (room to grow)8 GB, 4 cores, 80 GBEurope$0.03/hr$23.36
cpx214 GB, 3 cores, 80 GBUS$0.12/hr$87.75
cpx224 GB, 2 cores, 80 GBSingapore$0.10/hr$72.56

Monthly figures assume 730 hours.

If your balance reaches zero

A zero balance on an account with a card on file or a past top-up powers the server off and sends an email. It is held for 24 hours, then deleted; a top-up in that window restarts it. Welcome-credit-only servers are deleted at zero.

Check another size or location in the calculator, no signup. Why usage-priced hosting bills move is explained in Bill Variance.

Options

Strapi Cloud pricing vs your own server

Strapi Cloud pricing is per project: Starter is $35, Pro $90 and Business $450 a month on monthly billing. Each plan meters API requests and asset bandwidth above its allowance. Starter also sleeps when idle and keeps no backups. Your own server runs every project on it for one hourly rate.

Where they differStrapi Cloud StarterStrapi Cloud ProStrapi on Selfhost.dev
Price$35 per project a month$90 per project a month$0.02/hr for 4 GB in Europe
API requests100k a month, then $1.50 per 25k1M a month, then $1.50 per 25kNot metered
When idleSleepsAlways onAlways on
BackupsNoneWeeklyOptional daily, +20%

Strapi Cloud figures from strapi.io's Cloud pricing page, monthly billing.

When Strapi Cloud is the better choice

When media has to reach readers on several continents through a global CDN. Or when you need a contractual uptime SLA: Business publishes 99.9%. This template is one server in one location with no published availability figure.

Status

What the platform checks on every Strapi server

  • Every service is health-checked every 60 seconds.
  • A stalled deploy is retried automatically, not abandoned.
  • A deploy is never reported done until the URL answers.
  • Your Strapi version stays put. 5.52.1 is pinned and Postgres stays on major version 16; a restart or redeploy brings back the same build.
  • API tokens survive a redeploy. Both token salts are persisted, so the tokens your frontend holds keep working.
~6 min to deploy

The console estimates about six minutes for the Strapi template after the server is ready; first-time server provisioning adds time.

Notes

Strapi hosting limitations

  1. A development build, on purpose. The template runs NODE_ENV=development so the content-type builder stays usable. It is not a production build; if you need one, talk to us first.
  2. Media lives on the server disk. Uploads go to the strapi-uploads volume and the disk does not grow on its own, so pick a size with room for your media.
  3. The bundled Postgres is a container, not a Managed Database. It runs on the project server without point in time recovery, pooling or Multi-AZ; Managed PostgreSQL is a separate managed service.

Nothing here in your way? The template deploys in about six minutes.

Launch Strapi
Backups

Strapi backup and restore

Strapi backup and restore works three ways here. The server can take an optional daily image of everything on it. Keep your media and content-type schema files beside a database dump. Strapi transfer requires matching schemas and a remote instance started with start, not develop; ask us to arrange that before transferring to this development-mode template. A full pg_dump needs container access over SSH, granted on request.

MethodWhat it coversWhere it lives
Daily server backup (optional, +20%)Strapi, Postgres, config and media; the last 7 keptWith the server; deleted with it
strapi transfer (requires a compatible runtime)Content, media and configuration; matching schemas requiredAnother Strapi instance running with start; contact us first
pg_dumpThe whole databaseTaken with container access over SSH, granted on request
Sizing

Not sure which server your projects need?

Tell us how many Strapi projects you run and roughly how much media they hold. We reply with the server size and what it costs in your location.

Help

Frequently asked questions

Where should I host Strapi?

On a server that keeps Strapi and its database together and stays on. Strapi Cloud is the vendor's managed option; a VPS gives you control plus the setup work. This template sits between them: Strapi and PostgreSQL 16 on a dedicated server, connected before first boot. You still create content types, permissions and the administrator.

Can I run Strapi on a VPS?

Yes. Strapi runs on any Linux server with Node and a database, usually as two Docker containers. On a plain VPS you write the compose file, generate five secrets, add HTTPS and close the database port yourself. This template is that setup already done, on the same Hetzner hardware a VPS would give you.

Can I deploy Strapi and its database in one click, with logs?

Yes. The Launch button deploys Strapi and PostgreSQL 16 together; the template deploys in about six minutes. The console shows the server's CPU and memory. Our MCP server reads both containers' logs and stats. Every service is health-checked every 60 seconds.

Which Postgres version does Strapi need?

Strapi 5 supports PostgreSQL 14 and newer and recommends 17, according to its database documentation. This template runs postgres:16-alpine, inside that range. It stays on major version 16. A restart or redeploy brings back the same database. Strapi creates its own tables the first time it starts.

How do I move from SQLite or Strapi Cloud?

Match the destination content-type schemas to your existing project before moving data. Strapi transfer requires the remote instance to run with start, not develop; this template runs in development mode, so contact us to arrange a compatible migration first. Admin users and API tokens must be recreated, and a transfer replaces destination data.

Is Strapi free to self host?

Yes. Strapi's Community edition is open source under the MIT license, with no fee at any number of projects, editors or API requests. You pay only for the server it runs on. Strapi Cloud, the vendor's hosted product, charges per project per month instead of per server. See pricing.

Strapi and Postgres. On a server that never sleeps.

  • Strapi 5.52.1 with PostgreSQL 16, connected before first boot
  • A European 4 GB server, about $15 to $16 a month
  • No per-project fee, no metered API requests
Launch Strapi

About Selfhost.dev

Selfhost.dev is a managed self hosting platform for developers and small teams. Open source apps and databases on dedicated servers you control, billed by the hour, in six locations across three continents.

Best for: Strapi, WordPress, Supabase and managed PostgreSQL, MySQL, Redis, ClickHouse, OpenSearch and Kafka.