Odoo on VPS: your own ERP from $10/month

calendar_month марта 16, 2026 schedule 8 min read visibility 4 views
person
Valebyte Team
Odoo on VPS: your own ERP from $10/month

Running your own Odoo ERP system on a Virtual Private Server (VPS) is not only feasible but also surprisingly affordable. You can get a fully functional Odoo VPS for your small business for as little as $10 per month, ensuring complete control over your data and infrastructure without compromise. This is an ideal solution for those seeking a cost-effective yet powerful platform.

Why Odoo Community on VPS is the Ideal Choice for Small Businesses?

In a rapidly changing market, small businesses need flexible and powerful management tools. Odoo Community, as an open-source and continuously evolving ERP system, offers a wide range of modules – from CRM and accounting to warehouse and project management. Hosting Odoo Community on a VPS offers several advantages:

  • Full Control and Customization: Unlike cloud services where you are limited by the provider's framework, a selfhosted ERP on a VPS gives you complete freedom in configuration, installing third-party modules, and integrating with other systems. This is critical for unique business processes.
  • Cost Savings: The absence of per-user monthly fees, typical for cloud-based Odoo Enterprise versions, makes Community on VPS a significantly more cost-effective solution in the long run. You only pay for server resources.
  • Data Security: Your data is stored on your server, under your control, not on third-party cloud platforms. This enhances security and compliance with regulatory requirements.
  • Scalability: As your business grows, you can easily scale VPS resources on Valebyte.com, adding CPU, RAM, or disk space, without the need to migrate to another platform.

This is why Odoo on VPS is the preferred choice for many entrepreneurs who value independence and efficiency.

Choosing a VPS for Odoo: Resource Requirements

Choosing the right VPS is a crucial step for stable and fast Odoo performance. Odoo, like any ERP system, is resource-intensive, especially regarding RAM and the disk subsystem. Here are our recommendations for Odoo server hosting:

Minimum Requirements

  • CPU: 2 cores. Odoo actively uses the processor for request processing and business logic execution.
  • RAM: 4 GB. This is critically important. Odoo, PostgreSQL, and Python processes consume a lot of memory. Less than 4 GB can lead to swapping and significant slowdowns.
  • Disk: 80 GB SSD. SSD significantly speeds up database operations and application loading. HDD is not recommended.
  • Network bandwidth: 100 Mbps. Sufficient for most scenarios.

Recommended VPS Configurations

For more comfortable operation and scalability, especially if you plan to actively use Odoo or have multiple users, consider the following options:

Number of Users CPU RAM Disk (SSD) Example Valebyte Plans
1-5 (initial stage) 2 cores 4 GB 80 GB Valebyte Start
5-15 (active use) 4 cores 8 GB 160 GB Valebyte Basic
15-30 (growing business) 6-8 cores 16 GB 320 GB Valebyte Advanced

Our Valebyte Start or Basic plans are perfectly suited for launching an Odoo VPS for small businesses, offering an optimal balance of price and performance. Remember that PostgreSQL also consumes a significant portion of resources, so don't skimp on RAM.

Looking for a reliable server for your projects?

Valebyte offers VPS and dedicated servers with guaranteed resources and fast activation.

View offers →

Server Preparation: Operating System and Basic Settings

For Odoo installation, we recommend using Ubuntu Server LTS (Long Term Support), for example, Ubuntu 22.04 LTS. This is a stable and well-supported operating system with a large community.

Initial Setup

  1. System Update: After deploying the VPS, the first step is to update all packages.
sudo apt update && sudo apt upgrade -y
  1. Create a New User: Operating as root is unsafe. Create a new user with sudo privileges.
sudo adduser odoo_user
sudo usermod -aG sudo odoo_user

Then log out of root and log in as the new user.

  1. Firewall Configuration (UFW): Restrict server access to only necessary ports.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

This will provide basic security for your Odoo hosting.

PostgreSQL Installation: The Heart of Your Odoo ERP

Odoo uses PostgreSQL as its primary database. For optimal Odoo VPS performance, it's important to configure PostgreSQL correctly.

Install PostgreSQL

sudo apt install postgresql -y

Create a PostgreSQL User for Odoo

We will create a system user odoo, who will own the Odoo database. This user will be used by Odoo to connect to the DB.

sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser odoo
exit

In this case, we create the user odoo with database creation privileges, but without superuser or role creation privileges.

PostgreSQL Optimization (Optional, but Recommended)

To improve performance, especially on a VPS with a large amount of RAM, you can configure PostgreSQL parameters. Edit the file /etc/postgresql/<version>/main/postgresql.conf.

sudo nano /etc/postgresql/<version>/main/postgresql.conf

Change the following parameters, adapting them to your RAM size (e.g., for 8 GB RAM):

  • shared_buffers = 2GB (typically 25% of total RAM)
  • work_mem = 128MB
  • maintenance_work_mem = 512MB
  • effective_cache_size = 6GB (typically 75% of total RAM)
  • max_connections = 100 (or more, if many users are expected)

After making changes, restart PostgreSQL:

sudo systemctl restart postgresql

Deploying Odoo Community on VPS

Now let's proceed with installing Odoo itself. We will install Odoo from source code, which provides maximum flexibility.

Install Dependencies

Odoo requires a number of Python libraries and other system packages.

sudo apt install python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libpq-dev libjpeg-dev build-essential wkhtmltopdf -y

wkhtmltopdf is required for generating PDF reports.

Create an Odoo System User

For security, we will create a separate system user under whose name Odoo will run.

sudo adduser --system --home=/opt/odoo --group odoo

Clone Odoo from GitHub

Navigate to the /opt/odoo directory and clone the Odoo repository. Choose the desired version (e.g., 16.0).

sudo su - odoo -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 /opt/odoo/odoo16
exit

Install Python Dependencies

Install all necessary Python packages in a virtual environment.

sudo -H pip3 install -r /opt/odoo/odoo16/requirements.txt

Create Directory for Custom Modules and Logs

sudo mkdir /opt/odoo/odoo16-custom-addons
sudo chown odoo:odoo /opt/odoo/odoo16-custom-addons
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo

Odoo Configuration (odoo.conf)

Create a configuration file for Odoo.

sudo nano /etc/odoo/odoo.conf

Example content:

[options]
; This is the path to the Odoo folder
addons_path = /opt/odoo/odoo16/addons,/opt/odoo/odoo16-custom-addons
; PostgreSQL username created earlier
db_user = odoo
; Password for Odoo user (if set)
; db_password = <YOUR_POSTGRES_PASSWORD>
; Port on which Odoo will listen for requests
http_port = 8069
; Path to log file
logfile = /var/log/odoo/odoo16.log
; Master password for creating/deleting databases via the web interface
admin_passwd = <GENERATE_A_STRONG_PASSWORD>
xmlrpc_port = 8069
longpolling_port = 8071
workers = 4 ; (2 * CPU_cores + 1) or number of users / 6
max_cron_threads = 1

Create the /etc/odoo directory and set permissions:

sudo mkdir /etc/odoo
sudo chown odoo:odoo /etc/odoo/odoo.conf
sudo chmod 640 /etc/odoo/odoo.conf

Create a Systemd Service for Odoo

This will allow Odoo to start automatically on server boot and be managed via systemctl.

sudo nano /etc/systemd/system/odoo16.service

File content:

[Unit]
Description=Odoo ERP
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo16/odoo-bin -c /etc/odoo/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Reload the systemd daemon and start Odoo:

sudo systemctl daemon-reload
sudo systemctl start odoo16
sudo systemctl enable odoo16

Check Odoo status:

sudo systemctl status odoo16

Now your Odoo on VPS should be accessible at http://YOUR_VPS_IP:8069.

Configure Nginx as a Reverse Proxy and SSL

To ensure security and convenient access to Odoo, we recommend using Nginx as a reverse proxy and configuring SSL encryption with Let's Encrypt.

Install Nginx

sudo apt install nginx -y

Nginx Configuration for Odoo

Create a new configuration file for your domain.

sudo nano /etc/nginx/sites-available/odoo.conf

Example content (replace your_domain.com with your domain):

upstream odoo {
    server 127.0.0.1:8069;
}
upstream odoo_longpolling {
    server 127.0.0.1:8071;
}

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    # Redirect HTTP to HTTPS (after SSL setup)
    # return 301 https://$host$request_uri;

    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;

    location / {
        proxy_pass http://odoo;
    }

    location /longpolling/ {
        proxy_pass http://odoo_longpolling;
    }

    # For Odoo static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 8h;
        proxy_pass http://odoo;
    }
}

Activate the configuration and restart Nginx:

sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Now you can access Odoo at http://your_domain.com.

Configure SSL with Let's Encrypt

Install Certbot and obtain an SSL certificate.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com -d www.your_domain.com

Follow Certbot's instructions. It will automatically update your Nginx file to use HTTPS and configure automatic certificate renewal. After this, your Odoo server hosting will be secured.

Odoo Optimization and Security on VPS

Even after installing Odoo, there are steps you can take to improve performance and security.

  • Configure Odoo Workers: In the odoo.conf file, the workers parameter affects the number of parallel Odoo processes. It is recommended to set workers = (2 * CPU_cores) + 1. For Odoo 16.0 and above, where Odoo primarily operates in a multi-threaded mode, this parameter might be less critical but still impacts request processing.
  • Regular Backups: Set up automatic backups of the PostgreSQL database and the /opt/odoo directory. You can use pg_dump for the database and rsync or tar for files.
  • Resource Monitoring: Use tools like htop, glances, or Prometheus/Grafana to monitor CPU, RAM, and disk usage on your Odoo VPS.
  • Security Updates: Regularly update the operating system and Odoo. For Odoo Community, this usually means tracking releases and applying patches manually.
  • Strong Master Password: Ensure that admin_passwd in odoo.conf is very strong and unique.

Conclusion: Your Odoo ERP Awaits on Valebyte

As you can see, deploying Odoo Community on a VPS is a perfectly manageable task that gives you full control over your ERP system. You get not only a powerful business management tool but also significant cost savings compared to cloud solutions. With a VPS from Valebyte.com, you get a reliable and scalable platform that is ideal for your selfhosted ERP.

Our plans are designed to meet the needs of small and medium-sized businesses, providing an optimal balance of performance and cost. Start your journey to efficient management today. Choose a suitable plan on Valebyte.com and launch your Odoo hosting that will grow with you.

Ready to choose a server?

Compare VPS and dedicated servers from trusted providers on Valebyte.

Get started now →

Share this post: