News
New Amsterdam High Performance Cluster Launched
Serverspace Black Friday
AC
Artemis Cooper
July 21 2026
Updated August 3 2026

How to Deploy Your Own CRM on a VPS

How to Deploy Your Own CRM on a VPS

Cloud CRMs stay convenient right up until the monthly invoice lands for a growing team, or until someone asks where exactly your customer database actually lives. Deploying your own CRM on a VPS answers both concerns at once. You pay for a single server, and your data stays under your own roof.

This guide is for small and mid-sized business owners, sales team leads, and integrators who are tired of per-seat pricing and want an alternative to Salesforce, HubSpot, and the rest of the subscription stack. We will cover why running a CRM on your own server makes sense, which system to pick, what kind of VPS it needs, and how to get everything live in about fifteen minutes. No deep technical background required, every step is spelled out in order.

Why run your own CRM on your own server?

Cloud services handle the maintenance for you, but in exchange they ask you to trust someone else's infrastructure. The moment your customer database and revenue are involved, that trust starts to carry a price tag. Here is what a self-hosted CRM gives you.

Privacy and control. Every contact record, deal value, and email thread sits on your VPS. No third-party operator can reach into it, and your logs never flow into someone else's cloud.

Savings over time. Popular cloud CRMs charge per user, and the bill climbs as the team grows. A self-hosted install costs the price of one VPS no matter how many people use it. To put numbers on it: a ten-person team paying a major vendor around 21,000 dollars a year can move to a self-hosted setup running on a 20-dollar-a-month server and save more than 20,000 dollars annually.

No vendor lock-in. Your data lives in a standard PostgreSQL or MySQL database. You can export it, move it to another server, or migrate to a different system whenever you want, without asking the vendor for permission.

Flexibility for your process. Open-source CRMs let you reshape fields, deal stages, and automation around how your company actually works. The tool bends to the business instead of the business bending to the tool.

Independence. The system runs on your server and does not depend on someone else's cloud staying online. If a vendor has an outage or changes its pricing, your day keeps going. You decide when to update and which features to switch on.

Compliance is the other big one. If you handle health records, payment data, or anything covered by HIPAA, GDPR, CCPA, or a SOC 2 audit, keeping the data inside your own perimeter makes the paperwork far simpler. You control where the database lives and who can touch it, which is exactly what most data-residency rules are asking for. When an auditor wants to know how customer data is stored and protected, pointing to a server you own and configured is a much shorter conversation than tracing a third-party vendor's subprocessors.

Where does a self-hosted CRM actually pay off?

Self-hosting is not for everyone, but there are situations where it earns its keep. Here are a few common cases.

A sales team with its own pipeline. Reps move deals through stages, log calls and emails, and get reminders about tasks. The full history with a customer lives in a single card, and the manager sees the whole pipeline at a glance and measures the team by clear numbers.

Customer support and ticket handling. A CRM with a ticketing module pulls questions from email, website chat, and messengers into one window. An agent replies without hopping between tools, and every request is tied automatically to the customer and their history.

Website and lead-form integration. A request from a landing page or online store drops straight into the CRM and becomes a deal. No lead slips through the cracks, and a rep is notified the moment a new inquiry arrives and can pick it up without delay.

Working with sensitive data. Companies in healthcare, finance, and law need personal data to stay inside the organization's perimeter. A self-hosted CRM keeps the whole database in-house, which simplifies HIPAA, GDPR, and internal security policies.

What do you need to launch a CRM on a VPS?

The whole kit comes down to three parts, and most of them are free.

The server. This is the only paid line item. A VPS running Ubuntu works well. For example, you can rent a VPS on Serverspace in a couple of minutes and get a clean system ready for a CRM install.

The runtime. Modern CRMs install in one of two ways. The first is Docker, where the system and its database are packed into containers that come up with a single command. The second is the classic LAMP stack of Linux, Apache, MySQL, and PHP for PHP-based systems. Docker Compose is now the default: lightweight CRMs deploy in minutes, while heavier multi-service systems take a bit longer because they pull in a database, a cache, and a background worker.

The CRM itself. The choice here is wide, from free open-source systems to commercial editions you host yourself. That is what the next section is about.

No API keys, no cloud subscriptions, no extra fees. The only thing you actually pay for is the server.

Which CRM should you install on your server?

The self-hostable CRM market splits roughly into two camps. On one side are the modern, developer-first tools built around a clean API. On the other are the mature open-source platforms that have been around for a decade or more. Below is a short rundown of the main options, with a comparison table at the end.

EspoCRM: the fastest way to start

The best pick if you want to test the idea quickly. EspoCRM comes up through Docker in under five minutes, sits around 400 megabytes of RAM at idle, and runs comfortably on a server with 2 gigabytes. The interface is light and clear even for a non-technical user, and the core feature set covers contacts, companies, deals, tasks, and a calendar. It also ships with a built-in workflow engine and a REST API, so you can automate routine steps and wire it into other tools without extra plugins. A solid default for small teams that want results the same day.

Twenty: the modern option

A newer, developer-first CRM with a clean interface and a full GraphQL API, and it has quickly become a favorite for teams leaving Salesforce. A self-hosted install runs on a roughly 20-dollar-a-month VPS with unlimited users, which is where the big savings come from. It leans on a multi-service stack, so plan for a 4-gigabyte server and a slightly longer first boot while the database, cache, and worker come up.

Odoo: when you need CRM and ERP together

Odoo goes beyond a plain CRM and adds a full ERP layer: sales, inventory, accounting, and projects in one interface. That breadth is powerful, but it also makes the system heavier, so it wants a server with at least 4 gigabytes of RAM. A good fit when the CRM is only one piece of a larger operations puzzle, and you would rather run sales and back-office tools on a single platform than stitch several apps together.

SuiteCRM: the full-featured Salesforce alternative

A fork of the old SugarCRM and the most feature-rich system among the free options. It supports modules, roles, granular permissions, and a large catalog of extensions. You pay for that depth with a steeper learning curve and a heavier setup, so it suits mid-sized and larger companies that have an administrator on hand. TechRadar has named it a top open-source pick for 2026.

Vtiger: the all-in-one open source pick

An open-source system on PHP and MySQL that blends sales, marketing, and a built-in help desk with inventory tracking. The interface is a little dated but functional, with strong automation for repetitive tasks like follow-up emails and lead assignment. A reasonable choice when you want CRM and support living in one place without a license fee, and the PHP stack keeps hosting requirements modest.

Dolibarr: a modular build for your task

Dolibarr assembles like building blocks: you switch on only the modules you need right now, whether that is CRM, invoicing, inventory, or projects, and leave the rest off. A low barrier to entry and a GPL license make it handy for starting small and growing into ERP features later.

CRM comparison for self-hosting on your own server

CRM Type Min. RAM Stack Setup difficulty Best for
EspoCRM Open-source, free 2 GB+ PHP / MySQL Low Fast start, teams up to 10
Twenty Open-source, free 4 GB+ PostgreSQL / Docker Medium Salesforce alternative, dev-first teams
Odoo Community Open-source, free 4 GB+ Python / PostgreSQL Medium CRM and ERP in one system
SuiteCRM Open-source, free 2 GB+ PHP / MySQL Above average Complex processes, customization
Vtiger Open-source, free 2 GB+ PHP / MySQL Medium CRM and built-in help desk
Dolibarr Open-source, free 1 GB+ PHP / MySQL Low Modular start, CRM and accounting

What kind of VPS does your CRM need?

Server requirements depend entirely on the system you picked. The easiest thing to size by is RAM.

Lightweight systems. EspoCRM, SuiteCRM, Vtiger, and Dolibarr run comfortably on a VPS with 2 gigabytes of RAM and two CPU cores. For a team of up to ten people that is plenty. EspoCRM, for instance, idles at around 400 megabytes.

Heavier systems. Odoo, Twenty, and other module-rich platforms ask for 4 gigabytes and up. If you expect a few dozen people working actively, plan for 8 gigabytes.

Disk. Set aside at least 20 gigabytes for the system, the database, and attachments, with room to grow. A customer database and message history take up more space over time.

Sizing the box is easiest at rental time. On Serverspace you can pick a VPS with the amount of RAM you need and scale resources up later as the database and load grow.

Tip: start with the smallest workable configuration and expand as needed. There is no point paying for headroom you may never use.

How to deploy a CRM on a server in 15 minutes?

Time for the hands-on part. We will show the install using EspoCRM through Docker, because that path is the most predictable and repeatable. The whole thing breaks into four steps.

Step 1. Rent and prepare the VPS

Start by renting a VPS with Ubuntu 22.04 or 24.04. On Serverspace the server is ready in a couple of minutes, after which you get SSH access. Connect to the server and update the system:

apt update && apt upgrade -y

Make sure there is free space on the disk. The CRM image together with the database will take a few gigabytes, so 20 gigabytes leaves comfortable headroom.

Step 2. Install Docker

Install the container engine and the Compose tool in one line:

apt install docker.io docker-compose-plugin -y

Check that Docker started:

docker --version

If the version prints, the environment is ready.

Step 3. Run the CRM in a container

Create a docker-compose.yml file and describe two services in it: the CRM itself and a MariaDB database. A minimal configuration looks like this:

services:
espocrm:
image: espocrm/espocrm
environment:
ESPOCRM_DATABASE_HOST: db
ESPOCRM_ADMIN_USERNAME: admin
ESPOCRM_ADMIN_PASSWORD: your_password
ESPOCRM_SITE_URL: http://YOUR-IP
ports:
- 80:80
volumes:
- espocrm:/var/www/html
db:
image: mariadb:latest
environment:
MARIADB_ROOT_PASSWORD: root_password
MARIADB_DATABASE: espocrm
volumes:
espocrm:

Launch everything with a single command from the folder that holds the file:

docker compose up -d

Docker pulls the images, creates the containers, and brings them up in the background. It takes a couple of minutes.

Step 4. First setup and login

Open the server address in a browser:

http://YOUR-IP-address

A login window opens. Enter the admin username and password you set in the configuration. In settings, pick your language, time zone, and currency. After that the system is ready: you can add your first customers, build a sales pipeline, and invite teammates. Each user gets their own account and access rights.

What mistakes do people make when deploying a CRM?

The install is straightforward, but there are typical trip-ups that catch almost every newcomer. We will walk through them as problem and fix.

Database ports open to the world. If the MySQL or MariaDB port is visible from the internet, an attacker can try to brute-force the password and reach your customer base. Fix: close the database port with a firewall and keep access to it inside the server only.

Running over plain HTTP. Without encryption, logins, passwords, and customer data travel in the clear. Fix: set up Nginx as a reverse proxy and add a free Let's Encrypt certificate so the CRM runs over HTTPS.

The wrong server for the job. Trying to run a heavy Odoo or Twenty on a 2-gigabyte VPS leads to lag and crashes. Fix: check the table above and size RAM to the specific system.

No backups. A customer database is your most valuable asset, and losing it to a disk failure hurts twice as much. Fix: schedule regular backups of the database and attachments, ideally to separate storage.

Skipped updates and weak passwords. An outdated CRM version and a simple admin password are an open door for attackers. Fix: update the system as new versions ship and turn on two-factor authentication for login.

What does a self-hosted CRM give you in the end?

A CRM on a rented server solves several business problems at once. You get full control over the customer database, save on subscriptions as the team grows, simplify compliance by keeping data inside your own perimeter, and freely tune the system to your process.

Start small. Rent a VPS, install EspoCRM to test, and see how the system handles your workload. If you like the result, scale up: move to a beefier system, add resources to the server, and bring the whole team on board. The barrier to entry is minimal, and you will feel the payoff in the first days.
Cloud CRMs stay convenient right up until the monthly invoice lands for a growing team, or until someone asks where exactly your customer database actually lives. Deploying your own CRM on a VPS answers both concerns at once. You pay for a single server, and your data stays under your own roof.

This guide is for small and mid-sized business owners, sales team leads, and integrators who are tired of per-seat pricing and want an alternative to Salesforce, HubSpot, and the rest of the subscription stack. We will cover why running a CRM on your own server makes sense, which system to pick, what kind of VPS it needs, and how to get everything live in about fifteen minutes. No deep technical background required, every step is spelled out in order.

Why run your own CRM on your own server?

Cloud services handle the maintenance for you, but in exchange they ask you to trust someone else's infrastructure. The moment your customer database and revenue are involved, that trust starts to carry a price tag. Here is what a self-hosted CRM gives you.

Privacy and control. Every contact record, deal value, and email thread sits on your VPS. No third-party operator can reach into it, and your logs never flow into someone else's cloud.

Savings over time. Popular cloud CRMs charge per user, and the bill climbs as the team grows. A self-hosted install costs the price of one VPS no matter how many people use it. To put numbers on it: a ten-person team paying a major vendor around 21,000 dollars a year can move to a self-hosted setup running on a 20-dollar-a-month server and save more than 20,000 dollars annually.

No vendor lock-in. Your data lives in a standard PostgreSQL or MySQL database. You can export it, move it to another server, or migrate to a different system whenever you want, without asking the vendor for permission.

Flexibility for your process. Open-source CRMs let you reshape fields, deal stages, and automation around how your company actually works. The tool bends to the business instead of the business bending to the tool.

Independence. The system runs on your server and does not depend on someone else's cloud staying online. If a vendor has an outage or changes its pricing, your day keeps going. You decide when to update and which features to switch on.

Compliance is the other big one. If you handle health records, payment data, or anything covered by HIPAA, GDPR, CCPA, or a SOC 2 audit, keeping the data inside your own perimeter makes the paperwork far simpler. You control where the database lives and who can touch it, which is exactly what most data-residency rules are asking for. When an auditor wants to know how customer data is stored and protected, pointing to a server you own and configured is a much shorter conversation than tracing a third-party vendor's subprocessors.

Where does a self-hosted CRM actually pay off?

Self-hosting is not for everyone, but there are situations where it earns its keep. Here are a few common cases.

A sales team with its own pipeline. Reps move deals through stages, log calls and emails, and get reminders about tasks. The full history with a customer lives in a single card, and the manager sees the whole pipeline at a glance and measures the team by clear numbers.

Customer support and ticket handling. A CRM with a ticketing module pulls questions from email, website chat, and messengers into one window. An agent replies without hopping between tools, and every request is tied automatically to the customer and their history.

Website and lead-form integration. A request from a landing page or online store drops straight into the CRM and becomes a deal. No lead slips through the cracks, and a rep is notified the moment a new inquiry arrives and can pick it up without delay.

Working with sensitive data. Companies in healthcare, finance, and law need personal data to stay inside the organization's perimeter. A self-hosted CRM keeps the whole database in-house, which simplifies HIPAA, GDPR, and internal security policies.

What do you need to launch a CRM on a VPS?

The whole kit comes down to three parts, and most of them are free.

The server. This is the only paid line item. A VPS running Ubuntu works well. For example, you can rent a VPS on Serverspace in a couple of minutes and get a clean system ready for a CRM install.

The runtime. Modern CRMs install in one of two ways. The first is Docker, where the system and its database are packed into containers that come up with a single command. The second is the classic LAMP stack of Linux, Apache, MySQL, and PHP for PHP-based systems. Docker Compose is now the default: lightweight CRMs deploy in minutes, while heavier multi-service systems take a bit longer because they pull in a database, a cache, and a background worker.

The CRM itself. The choice here is wide, from free open-source systems to commercial editions you host yourself. That is what the next section is about.

No API keys, no cloud subscriptions, no extra fees. The only thing you actually pay for is the server.

Which CRM should you install on your server?

The self-hostable CRM market splits roughly into two camps. On one side are the modern, developer-first tools built around a clean API. On the other are the mature open-source platforms that have been around for a decade or more. Below is a short rundown of the main options, with a comparison table at the end.

EspoCRM: the fastest way to start

The best pick if you want to test the idea quickly. EspoCRM comes up through Docker in under five minutes, sits around 400 megabytes of RAM at idle, and runs comfortably on a server with 2 gigabytes. The interface is light and clear even for a non-technical user, and the core feature set covers contacts, companies, deals, tasks, and a calendar. It also ships with a built-in workflow engine and a REST API, so you can automate routine steps and wire it into other tools without extra plugins. A solid default for small teams that want results the same day.

Twenty: the modern option

A newer, developer-first CRM with a clean interface and a full GraphQL API, and it has quickly become a favorite for teams leaving Salesforce. A self-hosted install runs on a roughly 20-dollar-a-month VPS with unlimited users, which is where the big savings come from. It leans on a multi-service stack, so plan for a 4-gigabyte server and a slightly longer first boot while the database, cache, and worker come up.

Odoo: when you need CRM and ERP together

Odoo goes beyond a plain CRM and adds a full ERP layer: sales, inventory, accounting, and projects in one interface. That breadth is powerful, but it also makes the system heavier, so it wants a server with at least 4 gigabytes of RAM. A good fit when the CRM is only one piece of a larger operations puzzle, and you would rather run sales and back-office tools on a single platform than stitch several apps together.

SuiteCRM: the full-featured Salesforce alternative

A fork of the old SugarCRM and the most feature-rich system among the free options. It supports modules, roles, granular permissions, and a large catalog of extensions. You pay for that depth with a steeper learning curve and a heavier setup, so it suits mid-sized and larger companies that have an administrator on hand. TechRadar has named it a top open-source pick for 2026.

Vtiger: the all-in-one open source pick

An open-source system on PHP and MySQL that blends sales, marketing, and a built-in help desk with inventory tracking. The interface is a little dated but functional, with strong automation for repetitive tasks like follow-up emails and lead assignment. A reasonable choice when you want CRM and support living in one place without a license fee, and the PHP stack keeps hosting requirements modest.

Dolibarr: a modular build for your task

Dolibarr assembles like building blocks: you switch on only the modules you need right now, whether that is CRM, invoicing, inventory, or projects, and leave the rest off. A low barrier to entry and a GPL license make it handy for starting small and growing into ERP features later.

CRM comparison for self-hosting on your own server

CRM Type Min. RAM Stack Setup difficulty Best for
EspoCRM Open-source, free 2 GB+ PHP / MySQL Low Fast start, teams up to 10
Twenty Open-source, free 4 GB+ PostgreSQL / Docker Medium Salesforce alternative, dev-first teams
Odoo Community Open-source, free 4 GB+ Python / PostgreSQL Medium CRM and ERP in one system
SuiteCRM Open-source, free 2 GB+ PHP / MySQL Above average Complex processes, customization
Vtiger Open-source, free 2 GB+ PHP / MySQL Medium CRM and built-in help desk
Dolibarr Open-source, free 1 GB+ PHP / MySQL Low Modular start, CRM and accounting
What kind of VPS does your CRM need?

Server requirements depend entirely on the system you picked. The easiest thing to size by is RAM.

Lightweight systems. EspoCRM, SuiteCRM, Vtiger, and Dolibarr run comfortably on a VPS with 2 gigabytes of RAM and two CPU cores. For a team of up to ten people that is plenty. EspoCRM, for instance, idles at around 400 megabytes.

Heavier systems. Odoo, Twenty, and other module-rich platforms ask for 4 gigabytes and up. If you expect a few dozen people working actively, plan for 8 gigabytes.

Disk. Set aside at least 20 gigabytes for the system, the database, and attachments, with room to grow. A customer database and message history take up more space over time.

Sizing the box is easiest at rental time. On Serverspace you can pick a VPS with the amount of RAM you need and scale resources up later as the database and load grow.

Tip: start with the smallest workable configuration and expand as needed. There is no point paying for headroom you may never use.

How to deploy a CRM on a server in 15 minutes?

Time for the hands-on part. We will show the install using EspoCRM through Docker, because that path is the most predictable and repeatable. The whole thing breaks into four steps.

Step 1. Rent and prepare the VPS

Start by renting a VPS with Ubuntu 22.04 or 24.04. On Serverspace the server is ready in a couple of minutes, after which you get SSH access. Connect to the server and update the system:

apt update && apt upgrade -y

Make sure there is free space on the disk. The CRM image together with the database will take a few gigabytes, so 20 gigabytes leaves comfortable headroom.

Step 2. Install Docker

Install the container engine and the Compose tool in one line:

apt install docker.io docker-compose-plugin -y

Check that Docker started:

docker --version

If the version prints, the environment is ready.

Step 3. Run the CRM in a container

Create a docker-compose.yml file and describe two services in it: the CRM itself and a MariaDB database. A minimal configuration looks like this:

services:
espocrm:
image: espocrm/espocrm
environment:
ESPOCRM_DATABASE_HOST: db
ESPOCRM_ADMIN_USERNAME: admin
ESPOCRM_ADMIN_PASSWORD: your_password
ESPOCRM_SITE_URL: http://YOUR-IP
ports:
- 80:80
volumes:
- espocrm:/var/www/html
db:
image: mariadb:latest
environment:
MARIADB_ROOT_PASSWORD: root_password
MARIADB_DATABASE: espocrm
volumes:
espocrm:

Launch everything with a single command from the folder that holds the file:

docker compose up -d

Docker pulls the images, creates the containers, and brings them up in the background. It takes a couple of minutes.

Step 4. First setup and login

Open the server address in a browser:

http://YOUR-IP-address

A login window opens. Enter the admin username and password you set in the configuration. In settings, pick your language, time zone, and currency. After that the system is ready: you can add your first customers, build a sales pipeline, and invite teammates. Each user gets their own account and access rights.

What mistakes do people make when deploying a CRM?

The install is straightforward, but there are typical trip-ups that catch almost every newcomer. We will walk through them as problem and fix.

Database ports open to the world. If the MySQL or MariaDB port is visible from the internet, an attacker can try to brute-force the password and reach your customer base. Fix: close the database port with a firewall and keep access to it inside the server only.

Running over plain HTTP. Without encryption, logins, passwords, and customer data travel in the clear. Fix: set up Nginx as a reverse proxy and add a free Let's Encrypt certificate so the CRM runs over HTTPS.

The wrong server for the job. Trying to run a heavy Odoo or Twenty on a 2-gigabyte VPS leads to lag and crashes. Fix: check the table above and size RAM to the specific system.

No backups. A customer database is your most valuable asset, and losing it to a disk failure hurts twice as much. Fix: schedule regular backups of the database and attachments, ideally to separate storage.

Skipped updates and weak passwords. An outdated CRM version and a simple admin password are an open door for attackers. Fix: update the system as new versions ship and turn on two-factor authentication for login.

What does a self-hosted CRM give you in the end?

A CRM on a rented server solves several business problems at once. You get full control over the customer database, save on subscriptions as the team grows, simplify compliance by keeping data inside your own perimeter, and freely tune the system to your process.

Start small. Rent a VPS, install EspoCRM to test, and see how the system handles your workload. If you like the result, scale up: move to a beefier system, add resources to the server, and bring the whole team on board. The barrier to entry is minimal, and you will feel the payoff in the first days.

Frequently Asked Questions (FAQ)

Why should I self-host a CRM instead of using a cloud CRM?

A self-hosted CRM gives you complete control over your customer data, removes per-user subscription fees, allows extensive customization, and lets you decide where your data is stored. This can simplify compliance with regulations such as GDPR, HIPAA, or CCPA while reducing long-term operating costs.

Which self-hosted CRM is best for small businesses?

For most small businesses, lightweight solutions such as EspoCRM or Dolibarr offer an excellent balance of simplicity, performance, and functionality. Companies with more advanced workflows may prefer Odoo, SuiteCRM, or Twenty depending on their business requirements.

How much server capacity does a self-hosted CRM require?

Most lightweight CRM systems run comfortably on a VPS with 2 GB of RAM, two CPU cores, and SSD storage. Larger deployments with dozens of active users or ERP functionality typically benefit from 4–8 GB of RAM or more, depending on the selected platform and workload.

Can I customize a self-hosted CRM?

Yes. Most open-source CRM platforms allow you to create custom fields, automate workflows, modify sales pipelines, integrate with external applications through APIs, and extend functionality with plugins or custom development to match your business processes.

Is Docker the recommended way to deploy a CRM?

For many modern CRM platforms, yes. Docker simplifies installation, dependency management, upgrades, and backups by packaging the application and its supporting services into isolated containers. Traditional installations remain available for platforms that use a standard LAMP stack.

How often should I back up a self-hosted CRM?

Daily automated backups are recommended for most organizations, while businesses with high transaction volumes may perform backups several times per day. Backup files should be stored separately from the production server and periodically tested to ensure they can be restored successfully.

You might also like...

We use cookies to make your experience on the Serverspace better. By continuing to browse our website, you agree to our
Use of Cookies and Privacy Policy.