Skip to main content

Introduction

Servers are the foundation of your Odoo deployment infrastructure. deployERP simplifies server management by automating provisioning, configuration, monitoring, and maintenance tasks.

What is a Server?

In deployERP, a server is a virtual machine that:
  • Hosts one or more Odoo instances
  • Runs PostgreSQL database server
  • Includes all necessary dependencies
  • Is optimized for Odoo performance
Each server is provisioned in your own cloud account, giving you complete control and ownership of your infrastructure.

Server Lifecycle

1

Provisioning

Automated creation and initial configuration
2

Configuration

Custom settings, SSH keys, and security setup
3

Deployment

Installing Odoo instances and applications
4

Monitoring

Continuous health checks and performance tracking
5

Maintenance

Updates, backups, and optimization
6

Scaling

Resource adjustment based on demand

Server Components

Each deployERP server includes:

System Software

  • Operating System: Ubuntu 22.04 LTS
  • Python: Multiple versions (3.8, 3.9, 3.10, 3.11)
  • PostgreSQL: Version 14 or 15
  • Nginx: Reverse proxy and SSL termination
  • Supervisor: Process management
  • Redis: Caching and sessions

Odoo Requirements

  • wkhtmltopdf: PDF generation
  • Node.js: Asset compilation
  • Python packages: All Odoo dependencies
  • System libraries: Image processing, XML, etc.

Management Tools

  • deployERP Agent: Monitoring and management
  • Fail2ban: Security and DDoS protection
  • UFW: Firewall configuration
  • Certbot: SSL certificate management

Server Types

Production Servers

Optimized for performance and reliability:
  • High-performance settings
  • Automated backups
  • 24/7 monitoring
  • Auto-healing enabled
  • Multi-worker configuration

Development Servers

Cost-effective for testing:
  • Debug mode available
  • Lower resource allocation
  • Flexible configuration
  • Quick provisioning

Staging Servers

Mirror production environments:
  • Production-like settings
  • Separate database
  • Testing ground for updates
  • Performance profiling

Server Management Features

Monitoring Dashboard

Real-time metrics including:
  • CPU utilization
  • Memory usage
  • Disk I/O
  • Network traffic
  • Database connections
  • Response times

Auto-Healing

Automatic recovery from common issues:
  • Service restarts
  • Memory leak detection
  • Disk space management
  • Connection pool recovery
  • Process resurrection

Security Features

Built-in security measures:
  • Firewall rules
  • DDoS protection
  • SSH key management
  • SSL/TLS encryption
  • Regular security updates

Server Configuration

Resource Allocation

ComponentConfigurableRange
vCPUYes1-64 cores
RAMYes2-256 GB
StorageYes20GB-16TB
BandwidthProvider-dependentVaries

Network Configuration

  • Public IP: Automatically assigned
  • Private networking: Available on supported providers
  • Firewall rules: Customizable
  • Load balancing: Enterprise feature

Database Configuration

PostgreSQL settings optimized for Odoo:
  • Connection pooling
  • Memory allocation
  • Query optimization
  • Automatic vacuuming
  • Backup scheduling

Performance Optimization

deployERP automatically optimizes servers for Odoo:

Worker Configuration

# Automatic calculation based on resources
workers = (cpu_cores * 2) + 1
max_cron_threads = 2
limit_memory_hard = ram_gb * 0.9 * 1024 * 1024 * 1024
limit_memory_soft = ram_gb * 0.8 * 1024 * 1024 * 1024

Caching Strategy

  • Static asset caching
  • Database query caching
  • Session storage in Redis
  • CDN integration (optional)

Server States

Servers can be in various states:
StateDescriptionActions Available
ProvisioningServer being createdWait, Cancel
RunningOperationalAll actions
StoppedTemporarily haltedStart, Delete
UpdatingMaintenance in progressWait
ErrorIssue detectedDiagnose, Restart

Backup Strategy

Automated backup features:
  • Daily snapshots
  • Point-in-time recovery
  • Cross-region replication
  • Encrypted storage
  • Retention policies
Always configure backups for production servers. Data loss without backups is irreversible.

Scaling Options

Vertical Scaling

Resize server resources:
  • Increase CPU/RAM
  • Expand storage
  • Minimal downtime
  • Automatic migration

Horizontal Scaling

Add more servers:
  • Load distribution
  • Geographic redundancy
  • High availability
  • Failover support

Monitoring Alerts

Configure alerts for:
  • Resource thresholds
  • Service failures
  • Security events
  • Backup failures
  • Performance degradation

Cost Management

Track and optimize costs:
  • Resource utilization reports
  • Cost breakdown by server
  • Optimization recommendations
  • Budget alerts

Best Practices

Regular Updates

Keep servers updated with security patches

Resource Monitoring

Track usage patterns and scale proactively

Backup Testing

Regularly test backup restoration

Security Audits

Review access logs and security settings

Troubleshooting

Common issues and solutions:
IssuePossible CauseSolution
High CPU usageInefficient queriesOptimize database indexes
Memory errorsInsufficient RAMIncrease server resources
Slow responseNetwork latencyUse CDN or closer region
Connection errorsFirewall rulesCheck security groups