Deploy Odoo 18 on AWS EC2 with Ubuntu 24.04
Odoo is a powerful open-source ERP platform that allows businesses to manage sales, CRM, accounting, inventory, and more. In this…
Deploy Odoo 18 on AWS EC2 with Ubuntu 24.04
Odoo is a powerful open-source ERP platform that allows businesses to manage sales, CRM, accounting, inventory, and more. In this comprehensive guide, we will walk through the complete step-by-step process to deploy Odoo 18 on an Amazon EC2 instance running Ubuntu 24.04. Whether you are a business owner or developer, this tutorial ensures a production-ready setup for your ERP solution.
This blog is intended to accompany a complete video demonstration, showing all actions in real-time. Both the blog and video provide full transparency of the setup, making it easy to reproduce or audit.
[embed]
Prerequisites
- AWS account with access to EC2 and RDS
- Odoo Enterprise license with GitHub access to the enterprise private repo
- Familiarity with Linux command-line and SSH
- SSH key pair for EC2 access
Step 1: Launch EC2 Instance
- Login to AWS Management Console.
- Navigate to EC2 Dashboard > Instances.
- Click Launch Instance.
-
Set Name: Odoo.
-
Choose Ubuntu Server 24.04 LTS (64-bit x86) as the AMI.
-
Select t2.medium as the instance type.
-
Choose the key pair you created earlier.
-
Expand Network Settings:
- VPC: Default or a VPC you created
- Subnet: Default
- Auto-assign Public IP: Enabled
- Create a new security group:
- Name: launch-wizard
- Add inbound rules:
- HTTP (TCP 80)
- HTTPS (TCP 443)
- Custom TCP (8069) — for Odoo web access
-
Leave other settings as default.
-
Set storage to 30 GB.
-
Click Launch Instance.
-
Once running, click View Instances to get the Public IPv4 DNS.
Step 2: Connect to EC2 via SSH
Use EC2 Instance Connect or your terminal with your .pem or .ppk key:
ssh -i /path/to/KeyPair.pem ubuntu@<your-ec2-public-dns>
Step 3: Update the System and Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install git -y
sudo apt install python3-pip -y
Install required build and system packages:
sudo apt install -y build-essential wget python3-dev python3-venv \
python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev \
libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev \
libpq-dev libxslt1-dev libtiff5-dev libjpeg8-dev libopenjp2–7-dev \
liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
Step 4: Create a Dedicated Odoo User
sudo adduser odoo
Step 5: Install PostgreSQL
Add PostgreSQL repository:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
sudo apt update
sudo apt install postgresql postgresql-contrib -y
Start and enable PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Set PostgreSQL password and create user:
sudo passwd postgres
su - postgres
createuser odoo
psql
ALTER USER odoo WITH CREATEDB;
\q
exit
Step 6: Install wkhtmltopdf
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt install ./wkhtmltox_0.12.6.1–2.jammy_amd64.deb
Step 7: Download Odoo 18 Source Code
sudo mkdir -p /opt/odoo/odoo
sudo chown -R odoo /opt/odoo
sudo chgrp -R odoo /opt/odoo
Switch to odoo user:
sudo su - odoo
git clone https://www.github.com/odoo/odoo - depth 1 - branch 18.0 /opt/odoo/odoo
Step 8: Set Up Python Virtual Environment
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip3 install wheel
pip3 install -r odoo/requirements.txt
deactivate
exit
Step 9: Create Directory for Custom Addons
sudo mkdir /opt/odoo/odoo-custom-addons
Step 10: Create Odoo Configuration File
sudo nano /etc/odoo.conf
Paste the following (change StrongMasterPassword):
[options]
admin_passwd = StrongMasterPassword
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo-custom-addons
Step 11: Create systemd Service File
sudo nano /etc/systemd/system/odoo.service
Paste:
[Unit]
Description=Odoo18
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Step 12: Start and Enable Odoo Service
sudo systemctl daemon-reload
sudo systemctl start odoo
sudo systemctl enable odoo
Check service status:
sudo systemctl status odoo
Step 13: Access Odoo Web Interface
Open your browser and go to:
- http://<your-ec2-public-dns>:8069
You’ll be greeted by the Odoo Database Setup screen.
- Master Password = the one you set in /etc/odoo.conf
- Create a database and continue to your Odoo Dashboard
Conclusion
Congratulations! 🎉 You’ve successfully deployed Odoo 18 on AWS EC2 using Ubuntu 24.04, with a clean and scalable setup. You now have a production-grade ERP solution ready for use.
Refer to the accompanying video for a visual walkthrough of every step covered in this guide.
Oddo Github Repo Link: https://github.com/odoo/odoo
메타데이터
- post_id
- b74b42fcd814
- slug
- deploy-odoo-18-on-aws-ec2-with-ubuntu-24-04-b74b42fcd814
- url
- https://medium.com/@skyops.io/deploy-odoo-18-on-aws-ec2-with-ubuntu-24-04-b74b42fcd814
- canonical_url
- https://medium.com/@skyops.io/deploy-odoo-18-on-aws-ec2-with-ubuntu-24-04-b74b42fcd814
- author_url
- https://medium.com/@skyops.io
- status
- ok
- fetched_at
- 2026-07-18 21:44:49