Odoo has one of the largest ecosystems of third-party business applications, with more than 20,000 apps available for different industries and business needs. These apps help companies extend the functionality of their ERP system without building everything from scratch.
When you purchase an app from the Odoo App Store or receive a custom module from a developer, you usually get the complete source code. To use that module successfully, you need to know how to install and configure it correctly on your Odoo server.
Whether you are managing an on-premise server, a cloud server, or an Odoo.sh environment, understanding the installation process is essential for smooth ERP operations and future upgrades.
In this guide, we will explain step-by-step how to install Odoo apps on different server environments, including:
- On-premise or cloud servers
- Local development servers
- Odoo.sh servers
We will also cover common troubleshooting tips, dependency management, and best practices for safe module installation.
Types of Odoo Servers
Before starting the installation process, it is important to understand the different types of Odoo hosting environments commonly used by businesses.
1. On-Premise or Cloud Server
This setup includes:
- Dedicated Linux servers
- VPS hosting
- AWS EC2 instances
- DigitalOcean droplets
- Google Cloud servers
- Azure cloud infrastructure
In these environments, Odoo is manually installed and managed by the system administrator.
2. Local Development Server
A local server is mainly used by developers for:
- Custom module development
- Testing new features
- Debugging
- Training purposes
It is usually installed on Windows, Linux, or macOS systems.
3. Odoo.sh Platform
Odoo provides Odoo.sh as a managed cloud hosting platform specially designed for Odoo development and deployment.
It offers:
- GitHub integration
- Automated deployments
- Staging environments
- Continuous integration
- Backup management
- Monitoring and scaling tools
How to Install Odoo Apps on an On-Premise or Cloud Server
Installing Odoo apps on a live server requires proper access permissions and careful deployment to avoid system issues.
Step 1: Download and Extract the Odoo App
After purchasing or downloading the app:
- Download the .zip, .tar, or .tar.gz file
- Extract the module folder on your local machine
Make sure the extracted folder contains:
- __manifest__.py
- models
- views
- security
- Other standard Odoo module files
Step 2: Connect to the Server
You can connect to the server using:
- SFTP
- FTP
- SSH
- FileZilla
- WinSCP
SSH access is highly recommended because it gives complete control over the server.
SSH Connection Command
ssh username@ipaddress
Example:
ssh ubuntu@192.168.1.10
Step 3: Locate the Odoo Addons Directory
Different Odoo installations use different directory structures.
Common addon paths include:
/opt/odoo/addons
/opt/odoo/odoo/addons
/home/odoo/odoo/addons
/usr/lib/python3/dist-packages/odoo/addons
If you are unsure where Odoo is installed, use the following commands:
whereis odoo
or
locate odoo
or
find / -name odoo
These commands help identify the Odoo installation directory and addon paths.
Step 4: Upload the Module to the Addons Folder
Once you identify the addons directory, upload your module there.
Using SCP Command
Linux Example
scp -r /home/downloads/module_name user@ipaddress:/opt/odoo/addons/
Windows Example
scp -vrC ~/Downloads/module_name root@192.168.1.3:/root/Downloads
Using AWS EC2 with PEM File
If your server uses AWS EC2 authentication with a .pem key:
rsync -rave "ssh -i example.pem" /home/ubuntu/module_name ubuntu@ipaddress:/opt/odoo/addons
This method is faster and more reliable for large modules.
Step 5: Set Proper File Permissions
Incorrect file permissions can prevent Odoo from reading the module.
Use the following commands:
sudo chown -R odoo:odoo /opt/odoo/addons/module_name
sudo chmod -R 755 /opt/odoo/addons/module_name
Replace odoo with your actual server user if needed.
Step 6: Restart the Odoo Service
After uploading the module, restart the Odoo service.
Common Restart Commands
sudo service odoo-server restart
or
sudo systemctl restart odoo
or
sudo systemctl restart odoo-server
How to Find the Odoo Service Name
Sometimes the service name differs depending on installation type.
You can check available services using:
ls /etc/init.d/
or
systemctl list-units --type=service | grep odoo
Common service names:
- odoo
- odoo-server
- openerp
- openerp-server
If you still cannot identify the service, reboot the server:
sudo reboot
Step 7: Install the App from the Odoo Interface
After restarting the service:
- Login to your Odoo database
- Enable Developer Mode
- Go to Apps
- Click Update Apps List
- Search for your module
- Click Install
How to Install Odoo Apps on a Local Server
Installing apps on a local server is much simpler.
Steps:
- Extract the module
- Copy it into your local addons directory
- Restart the Odoo server
- Update the apps list
- Install the module from the Apps menu
Example Local Addons Path
C:\Program Files\Odoo\server\odoo\addons
or
/home/user/odoo/custom/addons
Local environments are ideal for:
- Testing
- Customization
- Learning Odoo development
- Debugging modules
How to Install Odoo Apps on Odoo.sh
Odoo.sh uses Git-based deployment instead of manual file uploads.
Step 1: Login to Odoo.sh
Access your Odoo.sh dashboard using your Odoo account.
Step 2: Connect GitHub Repository
Create or connect your GitHub repository to the Odoo.sh project.
Step 3: Push the Module to GitHub
Commit your module using Git commands:
git add .
git commit -m "Added custom module"
git push origin main
Step 4: Odoo.sh Automatic Build Process
Once the code is pushed:
- Odoo.sh automatically detects changes
- Builds the environment
- Installs dependencies
- Deploys the branch
If everything is successful, the build status will show as:
Success
Step 5: Install the Module
After deployment:
- Open your Odoo database
- Go to Apps
- Update Apps List
- Search the module
- Install it
Managing External Python Dependencies
Some Odoo modules require additional Python libraries.
Examples:
- requests
- pandas
- zeep
- stripe
- pillow
In Odoo.sh, create a requirements.txt file inside your repository.
Example:
requests==2.31.0
pandas==2.1.1
During deployment, Odoo.sh automatically installs these libraries.
For on-premise servers, install dependencies manually:
pip3 install -r requirements.txt
Common Issues During Odoo App Installation
1. Module Not Showing in Apps
Possible reasons:
- Wrong addons path
- Missing __manifest__.py
- Incorrect permissions
- Apps list not updated
2. Dependency Errors
The module may depend on:
- Another Odoo module
- External Python packages
- Specific Odoo versions
Always check the module documentation before installation.
3. Access Rights Errors
Improper security configuration may cause:
- Access denied warnings
- Missing menus
- View loading errors
Ensure all required security files are included.
Best Practices for Odoo Module Installation
To maintain a stable Odoo environment:
- Always keep backups before installation
- Test modules in staging first
- Verify module compatibility with your Odoo version
- Use version control systems like Git
- Maintain separate custom addons directories
- Avoid editing core Odoo files directly
- Monitor server logs during installation
Useful Log Command
tail -f /var/log/odoo/odoo-server.log
This helps identify installation errors quickly.
Final Thoughts
Installing Odoo apps correctly is essential for maintaining a stable and scalable ERP system. Whether you are using a local environment, a dedicated Linux server, AWS EC2, or Odoo.sh, following a structured installation process helps avoid deployment issues and ensures smoother system performance.
Proper module management, dependency handling, testing, and backup practices can significantly reduce downtime and improve the long-term reliability of your Odoo implementation.
As your ERP ecosystem grows, having a standardized deployment process becomes increasingly important for security, maintainability, and upgrade compatibility.