Skip to main content

Overview

Server provisioning in deployERP is a streamlined process that creates optimized infrastructure for your Odoo deployments. This guide covers everything from initial setup to advanced provisioning options.

Prerequisites

Before provisioning a server, ensure you have:

Cloud Provider Connected

At least one cloud provider configured in your account

Sufficient Permissions

Appropriate permissions in your cloud provider account

Provisioning Process

1

Select Provider

Choose from your connected cloud providers
2

Configure Server

Set location, size, and specifications
3

Review Settings

Confirm configuration and costs
4

Deploy

Initiate automated provisioning
5

Monitor Progress

Track provisioning status in real-time

Server Configuration Options

Basic Settings

name
string
required
Unique server identifier (e.g., “production-eu-1”)
  • Must be lowercase
  • Can contain hyphens
  • 3-50 characters
provider
string
required
Cloud provider selection:
  • aws - Amazon Web Services
  • digitalocean - DigitalOcean
  • azure - Microsoft Azure
  • vultr - Vultr
  • hetzner - Hetzner Cloud
  • gcp - Google Cloud Platform
region
string
required
Deployment region based on provider:AWS Regions:
  • us-east-1 - US East (N. Virginia)
  • eu-west-1 - EU (Ireland)
  • ap-southeast-1 - Asia Pacific (Singapore)
DigitalOcean Regions:
  • nyc3 - New York
  • lon1 - London
  • sgp1 - Singapore

Server Specifications

size
string
required
Server size configuration:
SizevCPURAMStorageMonthly Cost*
small24GB80GB~$40
medium48GB160GB~$80
large816GB320GB~$160
xlarge1632GB640GB~$320
customVariableVariableVariableVariable
*Costs vary by provider and region

Advanced Options

python_version
string
default:"3.10"
Python version for Odoo compatibility:
  • 3.8 - For Odoo 14 and older
  • 3.9 - For Odoo 15
  • 3.10 - For Odoo 16-17 (recommended)
  • 3.11 - Latest version
postgresql_version
string
default:"14"
PostgreSQL database version:
  • 12 - Legacy support
  • 13 - Stable
  • 14 - Recommended
  • 15 - Latest features
storage_type
string
default:"ssd"
Storage configuration:
  • ssd - Standard SSD (recommended)
  • nvme - High-performance NVMe
  • hdd - Cost-effective HDD

Provisioning via Dashboard

Step 1: Navigate to Servers

From your deployERP dashboard:
  1. Click Servers in the navigation
  2. Click New Server button

Step 2: Provider Selection

  • Existing Provider
  • New Provider
Select from your connected providers:
  1. Choose provider from dropdown
  2. Verify available regions
  3. Check resource quotas

Step 3: Server Configuration

Configure your server specifications:
# Example configuration
name: production-server
provider: digitalocean
region: nyc3
size: large
python_version: "3.10"
postgresql_version: "14"
storage_type: ssd

Step 4: Review and Deploy

  1. Review configuration summary
  2. Verify estimated costs
  3. Check provider quotas
  4. Click Deploy Server

Provisioning via API

curl -X POST https://api.deployerp.com/v1/servers \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "production-server",
    "provider": "digitalocean",
    "region": "nyc3",
    "size": "large",
    "python_version": "3.10",
    "postgresql_version": "14"
  }'

Provisioning Timeline

Typical provisioning times by provider:
ProviderSmallMediumLargeXLarge
DigitalOcean2-3 min3-4 min4-5 min5-7 min
AWS3-5 min4-6 min5-7 min7-10 min
Azure5-7 min6-8 min8-10 min10-15 min
Vultr2-3 min3-4 min4-5 min5-7 min

Provisioning Progress

Track provisioning status in real-time:

Status Indicators

StatusDescriptionProgress
provisioningServer being created0-30%
configuringInstalling software30-60%
optimizingPerformance tuning60-80%
finalizingSecurity setup80-95%
runningReady for use100%

Progress Monitoring

{
  "status": "configuring",
  "progress": 45,
  "current_step": "Installing PostgreSQL",
  "steps_completed": [
    "Server created",
    "Network configured",
    "OS installed"
  ],
  "estimated_time_remaining": "3 minutes"
}

Post-Provisioning Setup

Once provisioning completes:
1

Verify Server Status

Confirm server shows as “running”
2

Check Resources

Review CPU, RAM, and storage allocation
3

Configure SSH Keys

Add SSH keys for direct access
4

Set Up Monitoring

Enable alerts and notifications
5

Deploy First Instance

Create your first Odoo instance

Custom Server Provisioning

For specific requirements:

Bring Your Own Server

Connect existing servers:
  1. Install deployERP agent
  2. Register with platform
  3. Configure management
  4. Enable monitoring
# Install agent on existing server
curl -sSL https://get.deployerp.com | bash
deployerp-agent register --token=YOUR_TOKEN

Custom Specifications

Request custom configurations:
  • High memory instances (up to 512GB)
  • GPU-enabled servers
  • Dedicated hosts
  • Custom networking
Contact support for custom server configurations not available in standard options.

Multi-Region Deployment

Deploy servers across regions:

Benefits

  • Reduced latency
  • Data sovereignty
  • Disaster recovery
  • Load distribution

Configuration

regions:
  - name: production-us
    provider: aws
    region: us-east-1
    size: large
  - name: production-eu
    provider: aws
    region: eu-west-1
    size: large
  - name: production-asia
    provider: aws
    region: ap-southeast-1
    size: medium

Cost Optimization

Right-Sizing

Choose appropriate server sizes:
  • Monitor actual usage
  • Scale based on metrics
  • Use development servers for testing
  • Consider time-based scaling

Reserved Instances

Save on long-term deployments:
  • AWS Reserved Instances
  • Azure Reserved VMs
  • Committed use discounts

Spot Instances

For non-critical workloads:
  • Up to 90% cost savings
  • Suitable for development
  • Batch processing
  • Testing environments

Troubleshooting

Common Issues

IssueCauseSolution
Provisioning failsQuota exceededIncrease provider limits
Slow provisioningRegion congestionTry different region
Connection timeoutNetwork issuesCheck firewall rules
Invalid configurationUnsupported optionsVerify compatibility

Error Handling

{
  "error": {
    "code": "quota_exceeded",
    "message": "vCPU quota exceeded in region us-east-1",
    "details": {
      "current_usage": 95,
      "quota": 100,
      "requested": 8
    },
    "suggested_action": "Request quota increase or use different region"
  }
}

Best Practices

Plan Capacity

Estimate resource needs before provisioning

Use Naming Conventions

Consistent naming for easy management

Document Configuration

Keep records of server specifications

Test First

Provision test servers before production

Next Steps

After provisioning your server: