VPS Odoo Hosting Guia 2026: Instalacion y Configuracion Completa

Guia tecnica definitiva para instalar Odoo en un VPS. Comparamos Hetzner, DigitalOcean, Vultr y Contabo con instrucciones paso a paso, optimizacion de rendimiento y hardening de seguridad.

Publicado: 25 enero 2026 Actualizado: 25 enero 2026 30 min lectura Dr. Maria Elena Rodriguez
4 Proveedores Analizados
4.51EUR Precio Minimo/Mes
45min Tiempo Instalacion
99.9% Uptime Garantizado
32+ Ubicaciones Globales

Por que Elegir VPS para Odoo en 2026

Un Servidor Virtual Privado (VPS) representa el equilibrio perfecto entre el control total de un servidor dedicado y la accesibilidad economica del hosting compartido. Para Odoo, un VPS ofrece la flexibilidad necesaria para personalizar cada aspecto del entorno de ejecucion, desde la version de Python hasta la configuracion de PostgreSQL.

En 2026, los proveedores de VPS han evolucionado significativamente, ofreciendo almacenamiento NVMe ultrarapido, redes de baja latencia y herramientas de gestion simplificadas. Esto hace que desplegar Odoo en un VPS sea mas accesible que nunca, incluso para equipos con conocimientos tecnicos intermedios.

Resumen Ejecutivo

Para la mayoria de implementaciones de Odoo, recomendamos Hetzner Cloud por su excelente relacion precio-rendimiento en Europa. Si tu audiencia principal esta en America, considera DigitalOcean o Vultr por su presencia geografica. Contabo es ideal para presupuestos muy ajustados donde el rendimiento no es critico.

Ventajas de VPS sobre Hosting Gestionado

Ventajas del VPS

  • Control total sobre el servidor
  • Sin limite de usuarios
  • Personalizacion completa
  • Coste fijo predecible
  • Instalacion de modulos sin restricciones
  • Acceso root completo

Desventajas del VPS

  • Requiere conocimientos tecnicos
  • Responsabilidad de mantenimiento
  • Configuracion manual de seguridad
  • Sin soporte Odoo incluido
  • Backups bajo tu responsabilidad
  • Tiempo de administracion

Cuando NO Elegir VPS

Un VPS no es la mejor opcion si:

En estos casos, considera hosting gestionado como Odoo4projects u Odoo.sh.

Comparativa de Proveedores VPS para Odoo

Analizamos los cuatro proveedores VPS mas populares para Odoo, evaluando precio, rendimiento, ubicaciones y caracteristicas especificas para cargas de trabajo ERP.

Proveedor Plan Minimo Odoo RAM CPU SSD Ubicaciones Rating
Hetzner Cloud 7.05EUR/mes (CX22) 4 GB 2 vCPU 40 GB NVMe 5 (EU/US) 4.8/5
DigitalOcean $24/mes (4GB) 4 GB 2 vCPU 80 GB SSD 15 4.6/5
Vultr $24/mes (4GB) 4 GB 2 vCPU 100 GB NVMe 32 4.5/5
Contabo 5.99EUR/mes (VPS S) 8 GB 4 vCPU 200 GB SSD 6 4.1/5

DigitalOcean

$24/mes (4GB Droplet)

  • Documentacion excepcional
  • Comunidad muy activa
  • Marketplace con apps preconfiguradas
  • 15 ubicaciones globales
  • Panel de control intuitivo
  • Monitoreo integrado
  • $200 credito para nuevos usuarios
Ver Planes DO

Vultr

$24/mes (4GB Cloud)

  • 32 ubicaciones en todo el mundo
  • Almacenamiento NVMe en todos los planes
  • Bare metal disponible
  • Kubernetes gestionado
  • Excelente latencia global
  • Facturacion por hora
  • $250 credito promocional
Ver Planes Vultr
Economico

Contabo

5.99EUR/mes (VPS S)

  • Recursos muy generosos por precio
  • 8 GB RAM en plan basico
  • 200 GB SSD incluidos
  • Sin limite de trafico
  • Centros de datos en EU/US/Asia
  • Snapshots opcionales

Nota sobre Contabo

Contabo ofrece excelentes recursos por precio, pero el rendimiento puede ser inferior a otros proveedores debido a overselling. Recomendado para desarrollo o proyectos no criticos.

Ver Planes Contabo

Comparativa Visual: Precio vs Rendimiento

Este grafico interactivo compara los proveedores VPS en terminos de precio mensual frente a puntuacion de rendimiento. El tamano del circulo indica la cantidad de ubicaciones disponibles.

Guia de Dimensionamiento: Que VPS Necesitas

El dimensionamiento correcto del servidor es crucial para el rendimiento de Odoo. Un servidor subdimensionado causara lentitud y frustracion, mientras que uno sobredimensionado desperdicia recursos.

Regla General de Dimensionamiento

Formula Basica

RAM necesaria = 2GB base + (0.3GB x usuarios simultaneos)

Workers = (CPU cores x 2) + 1

Almacenamiento = 20GB base + (2GB x usuarios totales) + espacio filestore

Escenario Usuarios Simultaneos RAM Minima CPU Almacenamiento Plan Recomendado
Desarrollo/Pruebas 1-3 2 GB 1 vCPU 20 GB Hetzner CX11 (3.29EUR)
Startup Pequena 5-10 4 GB 2 vCPU 40 GB Hetzner CX22 (7.05EUR)
PYME 10-25 8 GB 4 vCPU 80 GB Hetzner CX32 (13.10EUR)
Empresa Mediana 25-50 16 GB 8 vCPU 160 GB Hetzner CX42 (25.40EUR)
Enterprise 50-100+ 32 GB+ 16 vCPU+ 320 GB+ Hetzner CX52 (49.90EUR)

Consideraciones Adicionales

Arbol de Decision: Elige tu VPS

Navega por este arbol interactivo para encontrar el proveedor VPS ideal segun tus necesidades especificas.

Instalacion de Odoo 18 en VPS: Guia Paso a Paso

Esta guia asume que estas usando Ubuntu 22.04 LTS o 24.04 LTS. Las instrucciones son validas para cualquier proveedor VPS.

Antes de Empezar

Asegurate de tener: acceso SSH root a tu VPS, un dominio apuntando a la IP del servidor, y aproximadamente 45 minutos de tiempo.

  1. Actualizar el Sistema y Crear Usuario

    Primero, actualiza todos los paquetes y crea un usuario dedicado para Odoo:

    # Actualizar sistema sudo apt update && sudo apt upgrade -y # Crear usuario odoo sudo adduser --system --home=/opt/odoo --group odoo # Instalar dependencias basicas sudo apt install -y git python3-pip python3-dev python3-venv \ libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \ libldap2-dev build-essential libssl-dev libffi-dev \ libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev \ liblcms2-dev libblas-dev libatlas-base-dev npm
  2. Instalar PostgreSQL 16

    Odoo requiere PostgreSQL como base de datos. Instalamos la version 16 para mejor rendimiento:

    # Agregar repositorio oficial de PostgreSQL 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 --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update # Instalar PostgreSQL 16 sudo apt install -y postgresql-16 postgresql-client-16 # Crear usuario de base de datos para Odoo sudo -u postgres createuser -s odoo
  3. Instalar wkhtmltopdf

    Necesario para generar reportes PDF en Odoo:

    # Descargar e instalar wkhtmltopdf con soporte Qt wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb sudo apt install -y ./wkhtmltox_0.12.6.1-3.jammy_amd64.deb rm wkhtmltox_0.12.6.1-3.jammy_amd64.deb
  4. Descargar e Instalar Odoo 18

    Clonamos el repositorio oficial y configuramos el entorno:

    # Clonar Odoo 18 sudo git clone --depth 1 --branch 18.0 https://github.com/odoo/odoo.git /opt/odoo/odoo # Crear entorno virtual Python sudo python3 -m venv /opt/odoo/venv # Instalar dependencias de Odoo sudo /opt/odoo/venv/bin/pip install wheel sudo /opt/odoo/venv/bin/pip install -r /opt/odoo/odoo/requirements.txt # Crear directorio para modulos personalizados sudo mkdir /opt/odoo/custom-addons # Establecer permisos sudo chown -R odoo:odoo /opt/odoo
  5. Crear Archivo de Configuracion

    Configuramos Odoo con parametros optimizados:

    sudo nano /etc/odoo.conf

    Contenido del archivo:

    [options] ; Configuracion basica admin_passwd = TuContraseƱaSeguraAqui123! db_host = False db_port = False db_user = odoo db_password = False ; Rutas addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons data_dir = /opt/odoo/.local/share/Odoo ; Servidor http_port = 8069 longpolling_port = 8072 proxy_mode = True ; Workers (ajustar segun CPU) workers = 4 max_cron_threads = 2 ; Limites de memoria (ajustar segun RAM) limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_time_cpu = 600 limit_time_real = 1200 ; Logs logfile = /var/log/odoo/odoo.log log_level = warn
  6. Crear Servicio Systemd

    Configuramos Odoo como servicio del sistema:

    sudo nano /etc/systemd/system/odoo.service

    Contenido:

    [Unit] Description=Odoo 18 After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
    # Crear directorio de logs sudo mkdir -p /var/log/odoo sudo chown odoo:odoo /var/log/odoo # Habilitar e iniciar servicio sudo systemctl daemon-reload sudo systemctl enable odoo sudo systemctl start odoo # Verificar estado sudo systemctl status odoo
  7. Instalar y Configurar Nginx

    Configuramos Nginx como proxy inverso con SSL:

    # Instalar Nginx y Certbot sudo apt install -y nginx certbot python3-certbot-nginx # Crear configuracion de Nginx sudo nano /etc/nginx/sites-available/odoo

    Contenido del archivo Nginx:

    upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } server { listen 80; server_name tu-dominio.com; # Redirigir a HTTPS return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name tu-dominio.com; # Logs access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # SSL (Certbot lo configurara) ssl_certificate /etc/letsencrypt/live/tu-dominio.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/tu-dominio.com/privkey.pem; # Proxy settings proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # Longpolling location /longpolling { proxy_pass http://odoochat; } # Archivos estaticos location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Proxy principal location / { proxy_redirect off; proxy_pass http://odoo; } # Gzip gzip_types text/css text/plain text/xml application/xml application/javascript application/x-javascript text/javascript; gzip on; }
    # Habilitar sitio sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/ sudo rm /etc/nginx/sites-enabled/default # Obtener certificado SSL sudo certbot --nginx -d tu-dominio.com # Reiniciar Nginx sudo nginx -t && sudo systemctl restart nginx

Instalacion Completada

Ahora puedes acceder a Odoo en https://tu-dominio.com. La primera vez, crea la base de datos usando la contrasena maestra que configuraste en odoo.conf.

Configuracion Avanzada del Servidor

Optimizacion de PostgreSQL para Odoo

PostgreSQL viene con configuracion conservadora por defecto. Ajustamos para mejor rendimiento:

sudo nano /etc/postgresql/16/main/postgresql.conf

Parametros recomendados para servidor de 8GB RAM:

# Memoria shared_buffers = 2GB # 25% de RAM effective_cache_size = 6GB # 75% de RAM work_mem = 64MB # RAM / max_connections / 2 maintenance_work_mem = 512MB # Checkpoint checkpoint_completion_target = 0.9 wal_buffers = 64MB default_statistics_target = 100 # Planificador random_page_cost = 1.1 # Para SSD effective_io_concurrency = 200 # Para SSD # Conexiones max_connections = 100 # Logs log_min_duration_statement = 1000 # Log queries lentas (+1s)
# Reiniciar PostgreSQL sudo systemctl restart postgresql

Configuracion de Workers de Odoo

La configuracion de workers es critica para el rendimiento. Usa esta formula:

Calculo de Workers

workers = (CPU cores * 2) + 1

max_cron_threads = 2 (maximo)

limit_memory_soft = 640MB por worker

limit_memory_hard = 768MB por worker

CPU Cores Workers RAM Necesaria Usuarios Simultaneos
254 GB10-15
498 GB20-30
81716 GB40-60
163332 GB80-120

Optimizacion de Rendimiento

1. Habilitar Swap (Recomendado)

Swap proporciona un colchon de seguridad cuando la RAM se agota:

# Crear archivo swap de 4GB sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # Hacer permanente echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # Ajustar swappiness para servidores echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf sudo sysctl -p

2. Cache de Assets con Nginx

Mejora tiempos de carga cacheando archivos estaticos:

# Agregar a la seccion server de Nginx location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 30d; add_header Cache-Control "public, immutable"; proxy_pass http://odoo; }

3. Compresion Gzip

Reduce el tamano de transferencia significativamente:

# En /etc/nginx/nginx.conf gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css text/xml application/json application/javascript application/xml application/xml+rss text/javascript application/x-javascript; gzip_min_length 1000;

4. Indices de Base de Datos

Crea indices adicionales para consultas frecuentes:

# Conectar a PostgreSQL sudo -u postgres psql nombre_base_datos # Indices utiles para Odoo CREATE INDEX CONCURRENTLY idx_mail_message_date ON mail_message(date DESC); CREATE INDEX CONCURRENTLY idx_sale_order_state ON sale_order(state); CREATE INDEX CONCURRENTLY idx_purchase_order_state ON purchase_order(state); CREATE INDEX CONCURRENTLY idx_stock_move_state ON stock_move(state);

5. Programar VACUUM y ANALYZE

Mantiene PostgreSQL optimizado:

# Agregar al crontab del usuario postgres sudo crontab -u postgres -e # Ejecutar VACUUM cada noche a las 3 AM 0 3 * * * /usr/bin/vacuumdb -a -z -q

Hardening de Seguridad

La seguridad es critica para cualquier servidor en produccion. Implementamos multiples capas de proteccion.

1. Configurar Firewall (UFW)

# Instalar y configurar UFW sudo apt install -y ufw # Politicas por defecto sudo ufw default deny incoming sudo ufw default allow outgoing # Permitir SSH (IMPORTANTE: no bloquear tu acceso) sudo ufw allow 22/tcp # Permitir HTTP y HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Habilitar firewall sudo ufw enable sudo ufw status

2. Securizar SSH

sudo nano /etc/ssh/sshd_config

Cambiar estas configuraciones:

# Deshabilitar login root PermitRootLogin no # Usar solo autenticacion por clave PasswordAuthentication no PubkeyAuthentication yes # Limitar intentos MaxAuthTries 3 # Timeout de sesion inactiva ClientAliveInterval 300 ClientAliveCountMax 2

Importante

Antes de deshabilitar PasswordAuthentication, asegurate de tener tu clave SSH configurada correctamente. De lo contrario, perderas acceso al servidor.

3. Instalar Fail2ban

Protege contra ataques de fuerza bruta:

sudo apt install -y fail2ban sudo nano /etc/fail2ban/jail.local
[DEFAULT] bantime = 3600 findtime = 600 maxretry = 5 [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 [nginx-http-auth] enabled = true
sudo systemctl enable fail2ban sudo systemctl start fail2ban

4. Actualizaciones Automaticas de Seguridad

sudo apt install -y unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades

5. Limitar Acceso a la Base de Datos

PostgreSQL solo debe ser accesible localmente:

sudo nano /etc/postgresql/16/main/pg_hba.conf # Asegurar que solo permite conexiones locales local all all peer host all all 127.0.0.1/32 scram-sha-256

6. Headers de Seguridad en Nginx

# Agregar al bloque server de Nginx add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Estrategia de Backups

Una estrategia de backup solida es esencial. Debes respaldar tres componentes:

Componentes a Respaldar

Script de Backup Automatico

sudo nano /opt/odoo/backup.sh
#!/bin/bash # Variables BACKUP_DIR="/opt/odoo/backups" DATE=$(date +%Y%m%d_%H%M%S) DB_NAME="tu_base_de_datos" RETENTION_DAYS=30 # Crear directorio si no existe mkdir -p $BACKUP_DIR # Backup de base de datos echo "Respaldando base de datos..." sudo -u postgres pg_dump $DB_NAME | gzip > $BACKUP_DIR/db_${DATE}.sql.gz # Backup del filestore echo "Respaldando filestore..." tar -czf $BACKUP_DIR/filestore_${DATE}.tar.gz /opt/odoo/.local/share/Odoo/filestore/$DB_NAME # Backup de configuracion echo "Respaldando configuracion..." tar -czf $BACKUP_DIR/config_${DATE}.tar.gz /etc/odoo.conf /etc/nginx/sites-available/odoo # Eliminar backups antiguos find $BACKUP_DIR -type f -mtime +$RETENTION_DAYS -delete # Mostrar tamano de backups echo "Backup completado:" ls -lh $BACKUP_DIR/*_${DATE}* # Opcional: Subir a almacenamiento externo (S3, Backblaze, etc.) # rclone copy $BACKUP_DIR remote:odoo-backups/
# Hacer ejecutable sudo chmod +x /opt/odoo/backup.sh # Programar backup diario a las 2 AM sudo crontab -e # Agregar: 0 2 * * * /opt/odoo/backup.sh >> /var/log/odoo/backup.log 2>&1

Recomendacion: Backup Externo

Siempre mantiene una copia de tus backups fuera del servidor. Puedes usar rclone para sincronizar con S3, Backblaze B2, Google Cloud Storage u otros proveedores. El coste es minimo (centimos por GB/mes).

Prefieren No Gestionar Tu Propio Servidor?

Si esta guia te parece demasiado tecnica, considera hosting gestionado desde 29EUR/mes con Odoo4projects. Incluye instalacion, actualizaciones, backups y soporte 24/7.

Ver Hosting Gestionado

Preguntas Frecuentes sobre VPS para Odoo

Cual es el mejor VPS para Odoo en 2026?
Para la mayoria de casos, Hetzner ofrece la mejor relacion calidad-precio con servidores en Europa. DigitalOcean es ideal si priorizas documentacion y facilidad de uso. Vultr destaca por su red global y Contabo por precios muy economicos pero con posible menor rendimiento.
Cuanta RAM necesita Odoo en un VPS?
Para Odoo Community con 1-10 usuarios: 4GB RAM minimo. Para 10-25 usuarios: 8GB RAM. Para 25-50 usuarios: 16GB RAM. Odoo Enterprise requiere aproximadamente el doble de recursos debido a los modulos adicionales.
Es dificil instalar Odoo en un VPS?
Requiere conocimientos basicos de Linux y linea de comandos. Con esta guia, la instalacion toma aproximadamente 45 minutos. Si no tienes experiencia tecnica, considera usar hosting gestionado que incluye instalacion y mantenimiento.
Cuanto cuesta un VPS para Odoo mensualmente?
Los precios varian desde 4.51 euros/mes (Hetzner CX11) hasta 50+ euros/mes para servidores de alto rendimiento. El promedio para una PYME con 10-20 usuarios es 15-30 euros/mes. Esto no incluye el tiempo de administracion.
Puedo migrar de Odoo.sh a un VPS propio?
Si, es posible migrar exportando la base de datos PostgreSQL y el filestore desde Odoo.sh. Sin embargo, perderas actualizaciones automaticas, integracion Git y soporte oficial. La migracion requiere conocimientos tecnicos avanzados y planificacion cuidadosa.
Como hacer backup de Odoo en un VPS?
Debes hacer backup de: 1) Base de datos PostgreSQL con pg_dump, 2) Directorio filestore con los archivos adjuntos, 3) Archivo de configuracion odoo.conf. Recomendamos backups diarios automatizados con retencion de 30 dias y copia externa usando rclone.
Que sistema operativo usar para el VPS?
Recomendamos Ubuntu 22.04 LTS o 24.04 LTS por su estabilidad, soporte prolongado y compatibilidad con Odoo. Debian 12 es otra excelente opcion. Evita distribuciones con ciclos de vida cortos o sin soporte LTS para servidores de produccion.
Como actualizar Odoo en un VPS?
Las actualizaciones menores se realizan con git pull en el repositorio de Odoo, seguido de reinicio del servicio. Las actualizaciones mayores (ej: 17 a 18) requieren migracion de base de datos y modulos, proceso complejo que puede requerir asistencia profesional.

Articulos Relacionados