You decide which services we may enable for analytics, personalization, and external content.
We use cookies and similar technologies on our website to personalize content, embed external media, and better understand how individual areas are used.
Necessary cookies
These entries support essential functions such as security, stability, and form processing.
Optional sections
AnalyticsMarketingPersonalizationExternal media
Your data may be processed with your consent or on the basis of legitimate interests. In the cookie settings, you can reject or explicitly allow each optional category.
Some services process personal data in third countries. By consenting, you also agree to this transfer. You can find more information in our Privacy Policy.
You can reopen and change your selection at any time. · 1.0.2
Setting Up Odoo on a Linux Server – Your Own Open Source ERP and CRM
Discover how to manage and automate business processes with Odoo's integrated ERP and CRM platform for smooth operations → Learn more now
10 November 20267 min read1 Views0 helpful
Introduction
Odoo is a modular open-source platform that combines Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) features. It enables businesses to centrally manage and automate processes such as accounting, inventory management, project management, and sales.
Thanks to flexible extensions, Odoo can be customized individually and offers an integrated solution to control all areas of a company.
Want to host this service yourself? We guide you step-by-step through the setup and configuration, showing you everything you need to know.
Requirements
Before installing Odoo, ensure your hosting environment meets the following minimum requirements to guarantee a smooth installation and optimal performance.
Hardware
Minimum
Recommended
CPU
1 vCPU core
4 vCPU cores
RAM
1 GB
4 GB
Disk space
15 GB
25 GB
The software requires all necessary dependencies and must run on a supported operating system. Before installation, check if your server meets the following requirements:
Dependencies:Docker
Operating System: Latest version of Ubuntu/Debian with Docker 26+
Make sure all dependencies are installed and the OS is up to date to avoid compatibility issues during Odoo installation.
FAQ
Frequently asked questions
You can install Odoo directly via One-Click Apps in the dashboard of your dedicated server by searching for Odoo in the app catalog and starting deployment with your preferred project, environment, and domain settings.
Odoo is a modular open-source platform combining ERP and CRM features, allowing businesses to centrally manage processes like accounting, inventory, project management, and sales.
Minimum requirements are 1 vCPU core, 1 GB RAM, and 15 GB disk space. Recommended are 4 vCPU cores, 4 GB RAM, and 25 GB disk space.
Feedback
Was this article helpful?
Your feedback helps us prioritize and improve content.
0 of 0 Users found this article helpful.
Personal support
Need more help than the guide provides?
Our ZAP support team knows your product — briefly describe your issue and we'll help you personally.
Zappy knows this guide and answers you right in the chat.
Navigation
Software
Installing Odoo with One-Click Apps
You can install Odoo directly via One-Click Apps in the dashboard of your dedicated server. After the initial setup of the apps, open the app catalog, search for Odoo, and start the deployment with your preferred project, environment, and domain settings. This way, you can deploy and manage Odoo quickly and easily—without manual command line installation but with integrated web-based management, custom domain support, and SSL provisioning where available.
Preparation
Before setting up Odoo, prepare your system. This includes updating the operating system to the latest version and installing all required dependencies. This ensures a stable environment and prevents problems during or after installation.
Update System
To run your system with the latest software and security updates, first perform an update by running:
Code
sudo apt update && sudo apt upgrade -y
This equips your system with the latest security patches and software versions before proceeding.
Install Dependencies
After the update, install the dependencies. Odoo runs via multiple Docker containers, so Docker must be installed first. Run the following commands:
Code
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
A detailed guide on Docker installation and usage is available in our Docker tutorial.
Configure Domain
By default, Odoo runs on the host using ports 80 (HTTP) and 443 (HTTPS). Set up a domain with DNS entries pointing to your host. If your domain is managed with us, you can easily do this via the EasyDNS feature.
Accessing the Website
After successful installation and configuration, and when all services are running, you can securely access your website by entering your domain in the browser address bar.
The homepage of your new installation will load. For the first login, there is a default account with username admin and password admin. It is strongly recommended to change these credentials immediately.
Conclusion and Further Resources
Congratulations! You have successfully installed and configured Odoo on your VPS/Dedicated Server. We also recommend checking out the following resources to help with further server configuration:
Once all requirements are met and preparations completed, you can start installing Odoo.
For multiple Docker projects, it’s advisable to create a clear directory structure to separate projects. A common approach is a docker folder in the user’s home directory with a subfolder per domain. This allows hosting multiple projects on one server without configuration conflicts.
For example, for the domain example.com:
Code
mkdir -p /docker/example.com
cd /docker/example.com
Inside this project folder, create subfolders that containers will mount as volumes. These volumes allow sharing or persistent storage of data between services. Especially important is the shared webroot, which both nginx and certbot need to access to create and renew SSL certificates. You can create a suitable structure like this:
Code
mkdir -p nginx/{conf,ssl,inc} config addons
This gives you dedicated folders for nginx configuration, SSL certificates, include files, and Odoo-specific content like configurations and addons.
Create Docker Compose
Create the file compose.yml in your Docker project with nano compose.yml and insert the following code:
Edit the nginx configuration file you created earlier and replace its content with the following configuration to ensure your site is accessible only via HTTPS.
Replace example.com in the server_name directive with your domain and adjust the paths to the certificate files in ssl_certificate and ssl_certificate_key accordingly.
For nginx and certbot to work properly, TCP ports 80 (HTTP) and 443 (HTTPS) must be open in the firewall. These ports are important because certbot uses port 80 for HTTP validation and port 443 for encrypted HTTPS traffic. If UFW (Uncomplicated Firewall) is enabled, add the rules with:
Code
sudo ufw allow http
sudo ufw allow https
Then check with sudo ufw status if the ports are open. Make sure no other firewall rules block access, or certificate creation and secure HTTPS traffic may fail.
Set Up Nginx
The nginx configuration starts with a file for your domain. Create a new file with your domain name in the nginx/conf directory. For example:
Code
nano nginx/conf/example.com.conf
Insert the following basic configuration and replace example.com with your domain:
This configuration allows certbot to perform the ACME challenge and issue valid SSL certificates. It also redirects all HTTP requests to HTTPS.
Save the file and start the required containers for database, Odoo, and nginx with:
Code
sudo docker compose up -d db odoo nginx
The containers now run in the background, and nginx uses the new configuration so certbot can create certificates in the next step.
Create SSL Certificates
Create SSL certificates with certbot by running the following command. Replace example.com with your domain and user@mail.com with your valid email address:
# Certificate paths (must match your mounted volume)
# Security headers
"SAMEORIGIN"
"no-referrer-when-downgrade"
"max-age=63072000; includeSubDomains; preload"
# Gzip
# Proxy settings for Odoo
$http_upgrade
"upgrade"
$host
$http_upgrade
$remote_addr
$proxy_add_x_forwarded_for
true
$host
# Recommended timeouts for standard requests
# Cache static files
# Increase timeouts for long polling
$http_upgrade
"upgrade"
$host
$remote_addr
$proxy_add_x_forwarded_for
$scheme
# Allow certbot access to challenge URL
return
$request_uri
Save the changes and reload the new configuration by restarting the nginx container:
Code
sudo docker compose restart nginx
The restart ensures nginx loads the updated configuration and immediately applies the new settings. Watch for error messages during restart. If issues occur, check logs with sudo docker compose logs nginx. If the container runs without errors, open your website again and verify HTTPS is active and the site loads correctly.
Odoo Configuration Options
To apply custom settings, create a dedicated configuration file for Odoo. Create the file config/odoo.conf and add your desired options.
In this file, you can define useful parameters: list_db = False hides the database selector on the login page, proxy_mode = True tells Odoo it is running behind a reverse proxy, and if you want to use your own addons, uncomment the addons_path line and point it to your addons directory. Example:
The -i base flag must be removed from the compose.yml because otherwise the database is recreated every time the Odoo container restarts. Open compose.yml with nano compose.yml and adjust the command to: