Skip to main content
Azure Deployment Guide

Deploy Odoo on Microsoft Azure

Complete step-by-step guide to deploy Odoo on Azure Virtual Machines. Learn how to configure Azure VMs, set up networking, and deploy production-ready Odoo with OEC.sh.

10-12 min read
Updated January 2025
Beginner Friendly

Overview

Microsoft Azure provides enterprise-grade cloud infrastructure for hosting Odoo. This guide walks you through deploying Odoo on Azure Virtual Machines using OEC.sh, combining Azure's reliability with simplified Odoo management.

Fast Setup

Deploy in under 30 minutes with OEC.sh automation

Enterprise Security

Azure compliance certifications included

Cost Effective

Save 40-60% compared to Odoo.sh

Prerequisites

Before starting, ensure you have the following:

Microsoft Azure Account

Active Azure subscription with permissions to create VMs. Create free account

OEC.sh Account

Free OEC.sh account to manage Odoo deployment. Sign up free

Basic Azure Understanding

Familiarity with Azure Portal, VMs, and networking concepts. No advanced DevOps skills required.

Domain Name (Optional)

A registered domain for production use. OEC.sh provides a free subdomain for testing.

1

Create Azure Virtual Machine

Create a new Virtual Machine in Azure Portal with Ubuntu 22.04 LTS. Follow these steps:

1. Navigate to Virtual Machines

In Azure Portal, search for "Virtual machines" and click "Create" then "Azure virtual machine".

2. Configure Basics

  • - Subscription: Select your Azure subscription
  • - Resource group: Create new or use existing
  • - VM name: e.g., "odoo-production"
  • - Region: Choose closest to your users
  • - Image: Ubuntu Server 22.04 LTS
  • - Size: B2s for small, D2s_v3 for medium production

3. Administrator Account

  • - Authentication type: SSH public key (recommended)
  • - Username: e.g., "azureuser"
  • - SSH public key: Generate new or use existing

4. Disks

  • - OS disk type: Premium SSD (recommended for production)
  • - Size: 64 GB minimum, 128 GB for medium workloads

Pro Tip

Download the SSH private key during VM creation. You will need this to connect OEC.sh to your server.

2

Configure Network Security Group

Configure Azure Network Security Group (NSG) to allow web traffic and SSH access to your Odoo server.

Required Inbound Rules

RulePortProtocolPurpose
SSH22TCPServer management
HTTP80TCPWeb traffic (redirect to HTTPS)
HTTPS443TCPSecure web traffic

Azure CLI Commands (Optional)

# Create NSG rules via Azure CLI
az network nsg rule create \
  --resource-group <your-resource-group> \
  --nsg-name <your-nsg-name> \
  --name AllowHTTP \
  --priority 100 \
  --destination-port-ranges 80 \
  --protocol TCP \
  --access Allow

az network nsg rule create \
  --resource-group <your-resource-group> \
  --nsg-name <your-nsg-name> \
  --name AllowHTTPS \
  --priority 110 \
  --destination-port-ranges 443 \
  --protocol TCP \
  --access Allow

Security Note

For production, consider restricting SSH access to specific IP addresses. OEC.sh can manage server access securely.

3

Connect OEC.sh to Your Server

Add your Azure VM to OEC.sh to enable automated Odoo deployment and management.

1. Get Your Azure VM Details

  • - Public IP address (from Azure Portal VM overview)
  • - SSH username (e.g., "azureuser")
  • - SSH private key file (.pem downloaded earlier)

2. Add Server in OEC.sh

  • - Log in to OEC.sh dashboard
  • - Click "Add Server" or "Connect Your Server"
  • - Select "Existing Server" option
  • - Enter the public IP, username, and upload SSH key

3. Verify Connection

OEC.sh will test the SSH connection and verify the server meets requirements. This typically takes 30-60 seconds.

Test SSH Connection (Optional)bash
# Test SSH connection from your local machine
ssh -i /path/to/your-key.pem azureuser@<your-vm-public-ip>

# You should see the Ubuntu welcome message
# Type 'exit' to disconnect
4

Deploy Odoo

With your Azure VM connected, deploy Odoo with a single click from the OEC.sh dashboard.

1. Create New Project

  • - Click "New Project" in OEC.sh
  • - Select your connected Azure server
  • - Choose Odoo version (17.0 or 18.0 recommended)
  • - Select Community or Enterprise edition

2. Configure Deployment

  • - Project name: e.g., "production"
  • - Database name: auto-generated or custom
  • - Git repository: Link your custom modules (optional)

3. Deploy

Click "Deploy" and OEC.sh handles everything: installing dependencies, configuring PostgreSQL, setting up Nginx, and starting Odoo. Deployment typically takes 5-10 minutes.

What OEC.sh Installs

  • - Odoo with all Python dependencies
  • - PostgreSQL database (optimized settings)
  • - Nginx reverse proxy
  • - Automated backup system
  • - Monitoring and logging
5

Configure Domain & SSL

Point your domain to the Azure VM and enable automatic SSL certificates for secure HTTPS access.

1. Configure DNS

Add an A record in your DNS provider pointing to your Azure VM public IP:

Type: A
Name: erp (or @ for root domain)
Value: <your-azure-vm-public-ip>
TTL: 300

2. Add Domain in OEC.sh

  • - Go to your project in OEC.sh dashboard
  • - Navigate to "Domains" tab
  • - Click "Add Domain"
  • - Enter your domain (e.g., erp.yourcompany.com)

3. Enable SSL

OEC.sh automatically provisions Let's Encrypt SSL certificates once DNS propagation is complete (usually 5-30 minutes). Certificates auto-renew every 60 days.

Free Test Domain

OEC.sh provides a free subdomain (yourproject.oec.sh) for testing before configuring your custom domain.

Azure VM Recommendations

Choose the right Azure VM size based on your expected workload. These recommendations are based on typical Odoo usage patterns.

Development

Development and testing environments. Not suitable for production workloads.

$7-10
/month (Azure only)
VM Size
B1s
Specs
1 vCPU, 1 GB RAM
Storage
30 GB SSD
Users
1-2 developers

Small Production

Small businesses with basic Odoo modules like CRM, Sales, and Invoicing.

$30-40
/month (Azure only)
VM Size
B2s
Specs
2 vCPUs, 4 GB RAM
Storage
64 GB SSD
Users
5-15 users

Medium Production

Recommended

Growing businesses using multiple Odoo modules including Inventory, Manufacturing, or Accounting.

$70-90
/month (Azure only)
VM Size
D2s_v3
Specs
2 vCPUs, 8 GB RAM
Storage
128 GB Premium SSD
Users
15-50 users

Large Production

Enterprise deployments with heavy concurrent usage and complex workflows.

$140-180
/month (Azure only)
VM Size
D4s_v3
Specs
4 vCPUs, 16 GB RAM
Storage
256 GB Premium SSD
Users
50-100+ users

Cost Comparison: Azure + OEC.sh vs Odoo.sh

See how Azure with OEC.sh compares to Odoo.sh pricing for equivalent resources.

ComparisonAzure + OEC.shOdoo.shSavings
Small Production
2 vCPU, 4 GB RAM
$39/mo
B2s $30 + Starter $9
$72/mo
Standard plan
46%
Medium Production
2 vCPU, 8 GB RAM
$99/mo
D2s_v3 $70 + Pro $29
$192/mo
Professional plan
48%
Large Production
4 vCPU, 16 GB RAM
$199/mo
D4s_v3 $140 + Pro $59
$432/mo
Custom Enterprise
54%

Azure + OEC.sh Advantages

  • Choose from 60+ Azure regions worldwide
  • Full SSH access to your server
  • Azure Reserved Instances save additional 30-60%
  • Integrate with Azure AD and Microsoft 365

When Odoo.sh Makes Sense

  • Need Enterprise support from Odoo directly
  • All-in-one solution without infrastructure management
  • Prefer Odoo-native development environment

Ready to Deploy Odoo on Azure?

Get started with OEC.sh free tier. No credit card required. Deploy your first Odoo instance in under 30 minutes.

  • Free tier available
  • Use your own Azure account
  • Full SSH access
Start Deploying with OEC.sh

Frequently Asked Questions

Why use Azure for Odoo hosting?

Microsoft Azure offers enterprise-grade infrastructure with global data centers, robust security certifications (SOC, ISO, HIPAA), and seamless integration with Microsoft services. It is ideal for organizations already using Azure AD, Office 365, or requiring specific compliance standards.

Can I use Azure Free Tier for Odoo?

Azure offers a free tier with limited resources (B1s VM for 750 hours/month for 12 months). While suitable for testing, production Odoo deployments require at least a B2s instance for acceptable performance with real users.

How does OEC.sh work with Azure?

OEC.sh connects to your Azure VM via SSH and handles all Odoo deployment tasks: installing dependencies, configuring PostgreSQL, setting up Nginx, SSL certificates, backups, and updates. You maintain full control of your Azure infrastructure while OEC.sh manages Odoo.

What Azure regions support Odoo?

Odoo can run on any Azure region. Choose a region closest to your users for best performance. Popular choices include East US, West Europe, Southeast Asia, and Australia East. OEC.sh supports all Azure regions globally.

How do I migrate from Odoo.sh to Azure?

Export your database and filestore from Odoo.sh, create an Azure VM, connect OEC.sh, and import your data. OEC.sh provides migration tools that simplify this process. Most migrations complete within a few hours.

Is Azure more expensive than Odoo.sh?

Azure with OEC.sh is typically 40-60% cheaper than Odoo.sh for equivalent resources. A B2s VM ($30/mo) with OEC.sh Starter ($9/mo) costs $39/mo total, compared to Odoo.sh Standard at $72/mo for similar capacity.

Start Your Azure Odoo Deployment

Combine the power of Microsoft Azure with the simplicity of OEC.sh. Deploy production-ready Odoo in minutes, not hours.