← Back to list

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…

SkyOpsTech · 2025-07-18 12:55 · 3 claps · 4.3 min read
#oddo #aws #aws-ec2 #ec2 #ec2-instance
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud 🔓 · Open Source

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

  1. Login to AWS Management Console.
  2. Navigate to EC2 Dashboard > Instances.
  3. Click Launch Instance.

  1. Set Name: Odoo.

  2. Choose Ubuntu Server 24.04 LTS (64-bit x86) as the AMI.

  3. Select t2.medium as the instance type.

  1. Choose the key pair you created earlier.

  2. 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

  1. Leave other settings as default.

  2. Set storage to 30 GB.

  1. Click Launch Instance.

  2. 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