How to Self-Host Odoo: A Setup Guide for Growing Businesses 

Blog Hosting VPS hosting Odoo How to Self-Host Odoo: A Setup Guide for Growing Businesses 
, ,
10 Mins Read
How to Self-Host Odoo

Summarize this blog post with:

Learning how to self-host Odoo gives businesses full control over their ERP environment without relying on restrictive SaaS infrastructure. With the right VPS setup, teams can manage performance, security and data ownership on their own terms. 

Unlike Odoo.com or managed platforms, self-hosting allows IT teams to customize server configurations, install third-party modules and support workflows across inventory, accounting, CRM and operations. It also gives growing teams more flexibility as business needs change. 

This guide covers Odoo VPS hosting requirements, cost considerations, Ubuntu installation steps, VPS sizing, security best practices and the differences between Odoo.sh and self-hosted deployments. 

Why self-host Odoo instead of using Odoo.com or Odoo.sh? 

Choosing to self-host Odoo focuses on cost control, customization and data sovereignty. While Odoo.com limits configurations, Odoo.sh involves vendor lock-in risks. Self-hosting ensures you own the PostgreSQL database. Overall, self-hosting provides a better fit for unique business needs. 

  • No per-user licensing fees: SaaS models charge per user monthly. These costs grow with your team. A VPS requires payment only for server resources. Adding team members does not increase your monthly bill. 
  • Full root access and module freedom: Root access allows you to modify source code and install third-party addons. Odoo.com restricts custom development. Self-hosting is the only way to build a bespoke ERP. 
  • Data sovereignty and compliance: Data sovereignty ensures you control where information lives. Regulated industries require strict oversight. Hosting Odoo on a private VPS keeps sensitive data under your direct supervision. 

Also read: What is Odoo? A Complete Overview 

Overall, self-hosting offers the independence necessary to align your ERP with your long-term business strategy. The next step involves evaluating the different environments available to support such autonomy. 

Odoo hosting options: Understanding your choices 

What is Odoo self-hosted? Simply put, it is the process of installing the Odoo software on a server you manage yourself. To understand if this is right for you, compare it against the other official options. 

  • Odoo.com (Online): A fully managed SaaS option. It is best for small teams without IT resources, but it offers limited custom module support and charges per user. 
  • Odoo.sh (Managed Cloud): A developer-friendly PaaS. It offers Git-based deployment but still operates on Odoo’s infrastructure with associated platform constraints. 
  • Self-Hosted VPS: Provides complete root access and no per-user fees. This is best for growing teams that need custom modules and long-term cost efficiency. 

Also read: Best Odoo Hosting in 2026: Top VPS Providers & Server Specs 

Pro tip: If you manage a team of 20 or more and regularly use third-party modules, a self-hosted VPS is almost always the most cost-efficient path within the first 12 months. 

How much does self-hosting Odoo actually cost? 

The overall price of self-hosting Odoo includes your virtual private server (VPS) monthly fee, domain registration, an SSL certificate and optional backup storage. While Odoo.com provides a restricted free tier, the Odoo Community Edition is free software that requires paid infrastructure to operate.  

For businesses that want full control over their Odoo environment, a self-managed VPS is the most cost-effective route. At Bluehost, our self-hosted Odoo VPS plans, starting at $2.09/month, are built for Odoo deployments, with the NVMe 4 plan at $4.18/month being the ideal starting point for most businesses. Larger businesses with higher demands can opt for the NVMe 8 plan at $8.36/month. All plans include unmetered bandwidth, infrastructure support, multiple data centers, and a free SSL certificate. 

Choosing a self-hosted environment for Odoo Enterprise requires a license fee but allows you to avoid the high hosting premiums associated with Odoo.sh. 

  • Odoo Community Edition: This open-source version is free to self-host indefinitely and handles most requirements for small to medium businesses. 
  • Odoo Enterprise: This tier requires a paid license even on a self-hosted server and provides advanced tools like mobile application access, comprehensive accounting reports and official support. 
  • Growth path: Most organizations start with the Community Edition and transition to Enterprise as business requirements become more complex. 

What you need before you start: Self-hosted Odoo prerequisites 

Yes, you can host Odoo yourself, but most failed installs happen because people skip dependency checks. Run through this before touching a single command. 

Pre-installation checklist 

  • VPS or dedicated server with root/sudo access 
  • Ubuntu 22.04 LTS as your OS (the community-tested standard) 
  • Python 3.10+, PostgreSQL 14+, Node.js, Git and wkhtmltopdf 0.12.6 (patched build) 
  • A domain name pointed to your server IP 

Hardware by team size: 

Users RAM CPU Storage 
1–10 4 GB 2 vCPU cores 100 NVMe 
20–50 8 GB 4 vCPU cores 200 NVMe  
50+ 16 GB+ 8+ vCPU cores 450 GB NVMe  

Also read: Odoo VPS Hosting Requirements: What You Actually Need to Run It Right 

NVMe matters because PostgreSQL’s read/write patterns demand low-latency storage, standard SSDs and HDDs fall behind under real load. Shared hosting won’t work; Odoo needs dedicated resources and system-level access

How to choose the right VPS for self-hosted Odoo 

Selecting the right server environment depends on your specific business requirements and daily operations. You must evaluate your needs based on several key factors to ensure your infrastructure handles the workload effectively. 

  • User count: The number of concurrent users determines how many worker processes your server must handle. 
  • Module complexity: Heavier modules like inventory and accounting create a significant load because they involve complex calculations and frequent database writes. 
  • Vertical scaling: Upgrading VPS resources like RAM or CPU without migrating data to a new server provides a direct path for growth. 
  • Database growth: Your storage needs will increase as you add more transactions, attachments and historical data. 
Tier User range Recommended specs 
Entry-level  Under 20 users 2 CPU cores, 4GB RAM, 100GB NVMe SSD storage 
Mid-range 20 to 75 users 4 CPU cores, 8GB RAM, 200GB NVMe SSD storage 
High-performance 75 to 200 users 8 CPU cores, 16GB RAM, 450GB+ NVMe SSD storage 

Bluehost VPS provides a hosting environment designed for performance and ease of use. You get isolated resources that protect your performance from other users on the same physical server. Every plan includes NVMe SSD storage for rapid data access and one-click Odoo templates to simplify the installation process. Overall, the Bluehost infrastructure provides the stability needed for business-critical applications. 

How to self-host Odoo: Step-by-step installation guide 

This process takes approximately 30 to 60 minutes on a provisioned VPS. If you use a Bluehost VPS with a pre-configured template, you can skip the dependency installation steps and move directly to configuration. 

Step 1: Provision and connect to your VPS 

Choose a VPS with Ubuntu 22.04 LTS. Once provisioned, use a terminal to connect via SSH using your root credentials. Confirm you have sudo privileges before starting the update process. 

Step 2: Update system packages and install core dependencies 

Run system updates and install the necessary libraries for Python and PostgreSQL. This ensures your server has the latest security patches and the required tools to build Odoo assets. 

Step 3: Install wkhtmltopdf 

Odoo uses wkhtmltopdf to render PDF reports like invoices and purchase orders. You must install the version compatible with Ubuntu 22.04 to avoid silent PDF rendering failures. This is a common point of failure in manual installs. 

Step 4: Create a PostgreSQL database user for Odoo 

Odoo requires a dedicated database user to manage its information. Create this user in PostgreSQL and ensure it has the permissions to create databases. For security, this user should only have the privileges Odoo needs to operate. 

Step 5: Download and install Odoo Community Edition 

Clone the Odoo source code from the official GitHub repository into your server. It is best practice to create a virtual environment for Python dependencies to keep your system libraries clean. Set the directory permissions so the Odoo user owns the files. 

Step 6: Configure the Odoo configuration file 

Create an odoo.conf file. You must set the database host, user and password. Crucially, define your addons_path so Odoo knows where to find custom modules. Change the admin_passwd from the default value to secure your database manager. 

Step 7: Start Odoo and access the web interface 

Pro tip: Set up Odoo as a systemd service immediately. If you run it manually, the process will stop when you close your terminal or if the server reboots. A systemd service ensures Odoo starts automatically upon reboot, preventing unplanned downtime. 

Also read: Bluehost Self-Managed VPS: Reimage Your Server for Odoo Installation 

Securing and maintaining your self-hosted Odoo instance 

Launching the software is only the first step. To make it production-ready, you must implement security and maintenance protocols. This prevents data loss and ensures the interface is accessible via a secure connection. 

Setting up SSL and a reverse proxy 

Browsers will flag your Odoo instance as insecure if you do not use HTTPS. Use Nginx as a reverse proxy in front of Odoo. This allows you to handle SSL termination using Let’s Encrypt for free certificates, protecting your login credentials from being intercepted. 

Configuring automated backups 

Odoo has a built-in backup manager, but you should not rely on it alone. Supplement this with VPS-level backups. Bluehost VPS includes automated weekly backups and manual snapshots, allowing you to “turn back the clock” if a module installation or update goes wrong. 

PostgreSQL database maintenance 

As your database grows, you may experience index bloat which slows down inventory and accounting queries. Running a VACUUM ANALYZE command periodically helps PostgreSQL reclaim space and optimize query paths. If your inventory searches become slow, it usually means index maintenance is overdue. 

Troubleshooting common self-hosted Odoo errors 

 Self-hosting Odoo gives you full control over your server environment, but setup and configuration issues can sometimes occur. Most errors are caused by incorrect database settings, blocked ports, missing dependencies or limited server resources

Error Symptom Cause Fix 
PostgreSQL connection errors Odoo fails to launch and shows a database connection errorThe database credentials in odoo.conf are incorrect or the PostgreSQL service is not running. Check the PostgreSQL service status and verify that the database name, user and password in your Odoo configuration file are correct. 
Port 8069 access issues The Odoo web interface does not load in your browser. The firewall may be blocking port 8069 or Odoo may be bound only to a local interface. Open port 8069 in your firewall and confirm that Odoo is configured to listen on 0.0.0.0. 
Module installation failures Odoo modules fail to install, load or run correctly. Required Python packages may be missing or the addons path may be incorrect. Install the missing dependencies using pip and check that your addons path points to the correct directory. 
Slow performance Odoo becomes slow after adding multiple users, records or resource-heavy modules. The database may need optimization or your VPS may not have enough RAM, CPU or storage resources. Run PostgreSQL maintenance tasks such as vacuuming, review active modules and upgrade your VPS resources if performance issues continue. 

Resolving these common Odoo configuration issues helps keep your self-hosted setup stable, accessible and ready to support daily business operations. 

Run Odoo your way: Next steps for a production-ready setup 

Self-hosting gives you the freedom to build an ERP that fits your business exactly. You have eliminated per-user fees, gained root access for custom modules and secured your data sovereignty. Ongoing maintenance is straightforward when backed by the right infrastructure. 

You have the blueprint: now you need a server built for it. Bluehost VPS Hosting provides one-click Odoo deployment, NVMe SSD storage, automated backups and full root access so you can get from setup to operations faster. Get started with Bluehost today to power your business with reliable hosting. 

FAQs 

Can I self-host Odoo without paying per-user licensing fees? 

Yes. Odoo Community Edition is open-source and free to self-host. With Odoo self hosting, your main recurring cost is the VPS infrastructure, not per-user SaaS pricing. 

What is the difference between self-hosted Odoo and Odoo.sh? 

Odoo.sh is a managed PaaS hosted on Odoo’s infrastructure with a Git-based workflow. Self-hosting means you provision and control your own server entirely. Self-hosting offers more control over the operating system and lower costs at scale, while Odoo.sh provides more managed developer tools. 

How does self-hosting Odoo work for non-Linux experts? 

Self-hosting requires basic familiarity with SSH and Linux commands. However, using a VPS with one-click templates, such as the Bluehost Odoo template, reduces the manual setup process significantly by pre-installing the necessary dependencies and software packages. 

Can I install custom modules and third-party addons on a self-hosted server? 

Yes. This is a primary advantage of self-hosting. Full root access and a configurable addons path allow you to install any Community module, third-party addon or custom-built module without the restrictions found on Odoo.com. 

How much RAM and storage does a self-hosted Odoo server need for 50 users? 

For a 50-user team running inventory and accounting, we recommend at least 8GB of RAM and NVMe SSD storage. PostgreSQL-heavy workloads require dedicated resources to maintain high performance during peak operational hours. 

  • I write and curate content for Bluehost. I hope this blog post is helpful. Are you looking at creating a blog, website or an online store? Bluehost has something for everyone. Get started today.

Learn more about Bluehost Editorial Guidelines
View All

Write A Comment

Your email address will not be published. Required fields are marked *