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.
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.
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.
Configure Network Security Group
Configure Azure Network Security Group (NSG) to allow web traffic and SSH access to your Odoo server.
Required Inbound Rules
| Rule | Port | Protocol | Purpose |
|---|---|---|---|
| SSH | 22 | TCP | Server management |
| HTTP | 80 | TCP | Web traffic (redirect to HTTPS) |
| HTTPS | 443 | TCP | Secure 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 AllowSecurity Note
For production, consider restricting SSH access to specific IP addresses. OEC.sh can manage server access securely.
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 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 disconnectDeploy 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
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: 3002. 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.
Small Production
Small businesses with basic Odoo modules like CRM, Sales, and Invoicing.
Medium Production
RecommendedGrowing businesses using multiple Odoo modules including Inventory, Manufacturing, or Accounting.
Large Production
Enterprise deployments with heavy concurrent usage and complex workflows.
Cost Comparison: Azure + OEC.sh vs Odoo.sh
See how Azure with OEC.sh compares to Odoo.sh pricing for equivalent resources.
| Comparison | Azure + OEC.sh | Odoo.sh | Savings |
|---|---|---|---|
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
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.