Deploy

Free credit available Limited time

Twenty CRM self hosted. Open source CRM on a server we run.

Run Twenty v1.15, the open source CRM for people, companies, deals and pipelines, as a one-click template on a dedicated server we provision, secure and run. Your customer data stays on your server. Nobody counts your seats.

Own the relationship and the database it lives in.

Launch Twenty CRM

One click. Four containers. The template deploys in about fourteen minutes.

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

Twenty v1.15, one click/Postgres 16 and Redis 7 included/Custom domain + SSL, automatic/8 GB server, $0.03/hr in our EU locations

What is Twenty CRM self hosted?

A real CRM.
On a server in full view.

What it is. Twenty is an open source CRM for companies, people, opportunities and sales workflows, with kanban and table views, custom objects and fields, and GraphQL and REST APIs. Here it deploys as a one-click template onto a dedicated server we run.

Who it is for. Teams who want their pipeline and contact data on a server they control, and who would rather not pay per seat as they hire.

When to use it. From about the third user, when a per-seat CRM bill starts growing with headcount, or when customer data cannot sit in someone else's SaaS.

One-click template (live today)

Twenty CRM self hosted requirements

What Twenty needs, and what we already provide.

Twenty CRM self hosted means four containers: the app, a background worker, PostgreSQL and Redis, behind a reverse proxy with TLS. The template ships all of it on one server, so the only system requirement you choose is the server size.

What Twenty needsThis deployment
Twenty versionv1.15, pinned
DatabasePostgreSQL 16
CacheRedis 7, cache only
Job queuepg-boss, inside PostgreSQL
ContainersApp, background worker, PostgreSQL, Redis
Workspace modeSingle workspace
Memory8 GB recommended
Architecturex86 or ARM
APIsGraphQL and REST
EmailSMTP is not configured by default
File attachmentsServer volume by default; the S3 variables exist and are empty
API rate limit100 requests per 100 seconds, upstream's default
What Selfhost.dev providesDetail
ServerDedicated project server, provisioned and run by us
RegionsFalkenstein, Nuremberg, Helsinki, Ashburn, Hillsboro, Singapore. Which locations are open depends on the machine you pick
HTTPSAutomatic, wildcard subdomain or your own domain
BackupsOptional. Daily, whole-VM, last 7 kept, +20% of the server price
MonitoringMetrics, logs, and a health check every 60 seconds
Deploy timeAbout 14 minutes for the template, once the server exists
Per-seat feeNone
MCP tools189 across 31 modules

Specifications current as of September 2026.

What's in the Twenty CRM deployment

Four containers. One click.

Four containers on one project server, deployed together. Database migrations run automatically on first boot.

ComponentVersionWhat it does
Twentyv1.15CRM app: companies, people, opportunities, kanban and table views, custom objects and fields
Background workerIncludedBackground job processing
PostgreSQL16Every CRM record and the job queue. Migrations run automatically
Redis7Caching
TLS and routingManaged by Selfhost.devPublic HTTPS URL, auto-renewed certificates

One workspace, invited users

The deploy runs in single-workspace mode. The first sign-up becomes the administrator, and everyone after that is invited into that workspace rather than creating their own.

Your own Postgres and Redis

Twenty gets a dedicated PostgreSQL 16 and Redis 7 on your project server, not a shared tenancy. Both are included in the server price with no separate service fee.

What we set up for you

The wiring the stock image leaves to you.

Twenty's own Docker Compose gets you four containers. It does not get you a running CRM on a public address, and several of the gaps are ones you only find after the first redeploy.

Your sessions survive a redeploy

APP_SECRET signs every session and token Twenty issues. The stock compose file generates a new one whenever it cannot find the old one, which means the first redeploy signs your whole team out. We generate it once and persist it, so a redeploy is a redeploy and not a logout.

Two containers, one set of migrations

The app and the worker run the same image, so both would try to run the database migrations at boot. We enable them on the web container and disable them on the worker, so two containers can never race the same migration. We also relax the readiness gate and give it a five-minute start window, because a first boot that is running migrations is not an unhealthy one and should not be killed for taking its time.

Nothing resolves across stacks

Your Postgres and Redis get per-service DNS names, not postgres and redis. A generic name on a shared Docker network resolves to whatever answers first, and Twenty is the template that proved it: it crash-looped in production before the naming was fixed. Behind that sits a default-deny firewall with only 22, 80 and 443 open, a Let's Encrypt certificate per hostname, and one virtual machine per customer.

No Selfhost.dev template ever boots on a documented default password. Where an app ships one, we replace it before the container is reachable, and if that seeding fails the instance boots locked rather than open.

How to self host Twenty CRM in 5 steps

From zero to live.
No server to set up.

Five steps. No Docker Compose, no Postgres to wire up, no certificate to renew.

1

1. Create a project

Name it and pick a server. Twenty runs four containers, so 8 GB is the size we recommend. We provision it, no cloud account to connect.

2

2. Add the Twenty template

Add service → Template → Twenty. All four containers deploy together and database migrations run on first boot. Six provisioning stages, about fourteen minutes, then we email the URL and credentials.

3

3. Claim the workspace · do it now

No admin password is set at deploy. The first person to open the URL creates the owner account and workspace and becomes the administrator. Claim it yourself immediately, before you share the address.

4

4. Configure SMTP · before you invite anyone

Email is not configured by default. Twenty needs your SMTP details before invitations and password-reset emails will send, so set that up before you add the team.

5

5. Point your domain and invite the team

Keep the wildcard subdomain or add your own: set DNS, verify a TXT record, and HTTPS provisions and renews automatically. Then import your contacts and invite the team.

What we run, and what you run

The honest split.

We manage the infrastructure. You own what happens inside Twenty. This is managed hosting, not managed CRM administration.

We runYou run
Server provisioning and capacityYour records, pipeline and custom objects
PostgreSQL 16 and Redis 7 containersYour workspace users and who you invite
Reverse proxy, TLS, renewalsYour SMTP configuration
Firewall and network rulesData retention inside Twenty
Optional daily backupsYour Twenty version, and when to move to a newer one
Metrics, logs, and a health check every 60 seconds

We pin the template to a tested Twenty version, currently v1.15.

What an 8 GB server handles

What else fits on the box, and where Twenty's own ceiling sits.

A project server holds up to five workloads in total, counting apps, databases and one-click apps together. The platform reserves 1,536 MB for the host, a heavy workload reserves 2,048 MB and a light one 512 MB. Twenty is classed heavy. An 8 GB server carries three heavy workloads and one light one in total, so Twenty leaves room for two more heavy services and a light one alongside it: the CRM does not have to be the only thing on the machine. A 4 GB server carries one heavy and one light, which is Twenty plus a single small sidecar and nothing else. That is why 8 GB is the size we recommend rather than the size we require: the backend will not refuse a 4 GB box if you pick one deliberately.

Twenty's own API ceiling is 100 requests per 100 seconds per client. That is upstream's default and we have not changed it, so an integration that polls hard is the thing to size for, not the number of people logging in.

Why host Twenty CRM on Selfhost.dev

Twenty CRM, the easy way.
On a server you control.

Your customer data on your server

Every record lives on a dedicated project server with live metrics and full logs, not in a SaaS you rent by the seat.

Custom domain + SSL

Add your domain, verify DNS and HTTPS is provisioned and renewed automatically. A wildcard subdomain works out of the box.

Drive it from your editor

189 MCP tools across 31 modules. Create the project, deploy the template, manage domains and env vars from Claude or Cursor.

Twenty CRM self hosted cost: what you actually pay

One server rate. No seats to count.

You pay for the server and nothing else. An 8 GB server is $0.03/hr, about $23 a month in our EU locations if you leave it running, billed hourly against prepaid credits. Adding users does not change the bill, and neither does the traffic they generate.

What you pay forCost
8 GB project server$0.03/hr in our EU locations, $23.36/mo at 730 hours
Twenty template, worker, PostgreSQL 16, Redis 7$0
HTTPS and custom domain$0
Users$0, no per-seat fee
Bandwidth$0. Traffic is included
Daily server backupsOptional. Daily, whole-VM, last 7 kept, +20% of the server price

Monthly figures assume 730 hours. Rates are for our EU locations; US and Singapore machines are different types at different rates, priced live in the calculator.

What running it here actually promises

Five things we can hold you to.

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 actually answers. Retrying a create never leaves you paying for two copies. Your Twenty version never moves on its own: v1.15 stays v1.15 until you decide otherwise.

Twenty's template deploys in about fourteen minutes, against a twenty-minute limit. It is one of the slower templates we run, because four containers and a first-boot migration is a real amount of work, and we would rather tell you that than have you watch a spinner.

Sizing sheet

Working out what a self hosted CRM costs?

Tell us your team size and we will send back the server size, the monthly cost and what it replaces on your current CRM bill. One email, no newsletter.

Twenty Cloud vs Twenty self hosted

Two bills with different shapes, and where they cross.

Twenty sells its own hosted product. Twenty Cloud Pro is $12 per user per month on monthly billing, or $9 if you commit to a year. The Community edition deployed here is free under AGPL-3.0 with no user limit, and you pay for the server it runs on. One bill grows with your team and the other does not, so they cross at two users on monthly billing, or three if you pay Twenty annually. Below that, Twenty Cloud is cheaper and worth taking. Above it, the gap only widens.

Twenty Cloud ProTwenty self hosted here (8 GB, EU)
Pricing modelPer user, per monthPer server hour
1 user$12/mo$23.36/mo
2 users$24/mo$23.36/mo
3 users$36/mo$23.36/mo
10 users$120/mo$23.36/mo
25 users$300/mo$23.36/mo
Adding a userIncreases the billNo change
SSO, SAML, row-level permissionsOrganization plan, $25/user/moThe same Organization licence, bought from Twenty
Where your data livesTwenty's infrastructureYour dedicated server

Twenty Cloud list prices as published, checked 15 September 2026 at Twenty pricing: Pro $12 and Organization $25 per user per month on monthly billing, or $9 and $19 on yearly, which Twenty shows as 25% off. Our figure is an 8 GB server in our EU locations at 730 hours.

What the Community edition includes

Everything the template deploys is Twenty Community: companies, people, opportunities, custom objects and custom fields, kanban and table views, the GraphQL and REST APIs, and no user limit. Twenty's own LICENSE excludes a small set of files marked @license Enterprise from the AGPL, and SSO, SAML and row-level permissions live in that proprietary package. Those are a licence key you buy from Twenty, priced the same whether you run on their cloud or on your own server: Twenty's pricing page lists self hosting at $0 per user per month on Pro, and the same $25 on Organization.

Self hosted CRM vs per-seat CRM

Where the two cross over.

A hosted CRM charges per seat per month, so the bill grows every time you hire. A self hosted CRM charges for one server, so it does not. The two cross over at about three users.

HubSpot Sales HubTwenty self hosted here (8 GB, EU)
Pricing modelPer seat, per monthPer server hour
Free tierUp to 2 users$5 in free credit at signup
Entry paid plan$20/seat/mo (Starter, monthly)$23.36/mo flat
3 users$60/mo$23.36/mo
10 users$200/mo$23.36/mo
25 users$500/mo$23.36/mo
10 users on Professional$1,000/mo, plus $1,500 one-time onboarding$23.36/mo
Adding a userIncreases the billNo change
Where your data livesHubSpot's infrastructureYour dedicated server

HubSpot Sales Hub list prices as published, 28 August 2026. Source: HubSpot pricing.

When a hosted CRM is the better choice

HubSpot's free tier covers two users at no cost, and no self hosted setup beats free. It also comes with support, onboarding and email that works without you configuring SMTP. Self hosting starts paying from about the third user, and the gap widens with every hire.

Still deciding between CRMs rather than between hosting models? We compared eight open source CRMs on what each one needs running underneath it. Twenty is the pick there for teams who want a modern interface and can run Redis alongside it.

What size server does Twenty CRM need?

Four containers, one server.

Twenty is a heavier stack than most one-click apps: the app, its background workers, its own Postgres and its own Redis all run on your project server. The platform classes it as heavy, which means it wants more free memory and disk than a light app before it will deploy, so 8 GB is the size we recommend. It is still one project server rate, with no seats to count.

Twenty CRM self hosted limitations

What this does not do.

Real constraints, easier to plan around than to discover.

  • SMTP is not configured by default. Invitations and password-reset emails will not send until you set it up.
  • File attachments are stored on the server volume, not S3.
  • The first person to open the URL claims the instance and becomes the administrator. Claim it immediately.
  • Single-workspace mode. Users are invited into the one workspace rather than creating their own.
  • The sign-up window is open until you close it. Twenty disables sign-up on its own once the first workspace exists, but until that happens the URL will accept whoever reaches it first. Nothing on our side can close that window for you, which is why step 3 says claim it immediately.
  • Pick your size at the start. A server cannot be resized in place, so moving to a bigger box means a new project and a data migration.
  • One project server holds up to five things total, counting apps, databases and one-click apps together.

Twenty CRM backup and restore

One image covers the whole server, and a root shell gets you your own copy whenever you want it.

What a backup covers

Daily, optional, 20% of the server price. There is no separate data volume, so one image is every container, the PostgreSQL database and every Docker volume together. The last seven are kept, rotating. A restore brings back a working Twenty, not a database you then have to re-wire.

They do not survive deletion

Backup images live with the server. If the server is destroyed, they go with it. Backups protect you from mistakes, not from an unpaid bill.

Your own copy, whenever you want one

Add your public key to the project server and you have root over SSH. From there docker exec against the Postgres container gives you a pg_dump of every CRM record, and a tar of the twenty-local-storage volume gives you every attachment. We never see the private half of that key.

Nothing here is designed to make leaving hard

Twenty exports to CSV from inside the app, and root SSH gives you everything byte for byte. There is no export button and we will not pretend there is one, but there is no lock either.

Frequently asked questions

Can I self host Twenty CRM on Selfhost.dev?
Yes. Twenty is available as a one-click template you deploy onto your project server. Selfhost.dev provisions and runs the server; you open Twenty and create your workspace.
How much does it cost to self host Twenty?
You pay for the project server it runs on and nothing for the template itself, by the hour against prepaid credits, at the same rates as any other project. We recommend an 8 GB server for Twenty: $0.03/hr, about $23 a month in our EU locations if you leave it running. There are no per-user charges. See pricing.
Do I set an admin password when I deploy Twenty?
No. Twenty creates the owner account and workspace on its own first-run screen, so the first person to open the URL becomes the administrator. Open it yourself right after the deploy finishes, before you share the address.
Why does Twenty want an 8 GB server?
The template runs four containers: the Twenty app, its background workers, its own Postgres and its own Redis. The platform treats it as a heavy workload and holds it to more free memory and disk than a light one, so an 8 GB server is the size we recommend and a crowded small one will be refused.
Can I use my own domain with self hosted Twenty?
Yes. Every project gets a wildcard subdomain on selfhost.dev and you can add your own domain: set the DNS records, verify with a TXT record and SSL is provisioned and renewed automatically.
Can I deploy Twenty with AI?
Yes. Creating the project, deploying the template and managing domains and env vars are covered by 189 MCP tools, so you can self host it from Claude, Cursor or any MCP client. Explore the MCP server.
Is Twenty CRM self hosted cheaper than a per-seat CRM?
From about the third user, yes. HubSpot Sales Hub Starter is $20 per seat per month, so ten users is $200 a month. An 8 GB server here is about $23 a month in our EU locations, whatever the headcount. Below three users, HubSpot's free tier is hard to beat.
What do I need to self host Twenty CRM?
A server with 8 GB RAM, PostgreSQL, Redis, a background worker, a reverse proxy and a TLS certificate. The template provides all of it, so the only choice is the server size.
Do email invitations work out of the box?
No. SMTP is not configured by default, so you need to add your own mail settings before invitations and password-reset emails will send.
Where are file attachments stored?
On your server's volume, not in S3. They live on the same project server as the rest of your Twenty data.
What happens if my credit balance reaches zero?
The server is powered off first, not deleted, and we email you. You get a 24-hour grace period, and a top-up inside that window restarts the project rather than destroying it. Keep a card on file and export your data periodically, and this never comes up.

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 with no subscription tiers.

Best for: Twenty CRM, n8n, Supabase and managed PostgreSQL, MySQL, Redis and ClickHouse.

Self host Twenty CRM. We will run the server.

One-click Twenty template
Custom domain + SSL, handled
Project server rates only, nothing per app
Launch Twenty CRM