[{"data":1,"prerenderedAt":260},["ShallowReactive",2],{"seo-verification":3,"blog-alojar-odoo-17-community-en-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alojar-odoo-17-community-en-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":201,"ctaBody":202,"ctaButton":203,"ctaUrl":204,"relatedPosts":205},383,"alojar-odoo-17-community-en-vps",{"fr":12,"en":13,"ar":14,"es":10},"heberger-odoo-17-community-vps","host-odoo-17-community-on-vps","استضافة-odoo-17-community-على-vps","Alojar Odoo 17 Community en VPS: instalación completa con Docker","Guía completa para desplegar Odoo 17 Community Edition en un VPS con Docker Compose: configuración, copias de seguridad, seguridad y optimización del rendimiento.",10,0,false,"2026-09-26T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-odoo-17-community-vps-poster.svg","Odoo 17 Community Edition es uno de los ERP de código abierto más completos disponibles hoy en día. Gratuito, extensible y respaldado por una gran comunidad, cubre la gestión de ventas, contabilidad, inventario, recursos humanos y mucho más. Sin embargo, muchas empresas siguen pagando suscripciones SaaS por funcionalidades que podrían alojar ellas mismas en un VPS, con control total sobre sus datos. Esta guía te acompaña paso a paso para desplegar Odoo 17 Community en un VPS mediante Docker Compose, configurar las copias de seguridad, asegurar la instancia y optimizar su rendimiento.",[35,39,53,94,97,119,122,125,136,151,154,158],{"type":36,"title":37,"body":38},"h2","Por qué autoalojar Odoo Community","La versión SaaS de Odoo, comercializada a través de Odoo.sh o mediante socios, cobra por usuario y por módulo activado. Para una pyme de 10 personas que use cinco módulos, la factura mensual supera rápidamente varios cientos de euros. Un VPS desde 99 DH\u002Fmes es suficiente para ejecutar la misma instancia, sin ninguna restricción en el número de usuarios o módulos Community.\n\n**El control de los datos** es el otro argumento de peso. Con una instancia autoalojada, la base de datos PostgreSQL permanece en tu servidor, en el datacenter que elijas. Ningún tercero accede a tus clientes, presupuestos, facturas ni datos de RRHH. Para empresas sujetas a requisitos de cumplimiento — sector médico, jurídico, fintech — este control no es opcional.\n\nFinalmente, la **personalización** es ilimitada. Odoo Community permite instalar cualquier módulo de la comunidad o desarrollado internamente, sin restricciones del editor.",{"type":40,"title":41,"items":42},"ul","Qué incluye Odoo 17 Community",[43,44,45,46,47,48,49,50,51,52],"**CRM**: pipeline de ventas, leads, actividades y seguimiento de clientes","**Ventas**: presupuestos, pedidos de compra, precios y condiciones de pago","**Contabilidad**: plan de cuentas, diarios, conciliación bancaria, IVA","**Facturación**: facturas de clientes y proveedores, recordatorios automáticos, pagos","**Inventario**: gestión de stock, ubicaciones, reglas de reaprovisionamiento","**Compras**: solicitudes de compra, peticiones de oferta y seguimiento de proveedores","**Recursos Humanos**: empleados, contratos, ausencias y asistencia","**Email Marketing**: listas de correo, campañas y estadísticas de envío","**Sitio web y e-commerce**: constructor de páginas, tienda online integrada","**Helpdesk**: ticketing de clientes, SLA y portal de autoservicio",{"type":54,"title":55,"headers":56,"rows":61},"comparison","Diferencias entre Community y Enterprise",[57,58,59,60],"Funcionalidad","Community","Enterprise","Alternativa open-source",[62,67,72,75,80,85,90],[63,64,65,66],"Contabilidad avanzada (informes analíticos)","Básica","Completa","Módulo OCA `account-financial-reporting`",[68,69,70,71],"Firma electrónica","No incluida","Incluida","Módulo `sign` comunidad o Docusign",[73,69,70,74],"Hojas de asistencia avanzadas","Módulo OCA `hr-attendance`",[76,77,78,79],"Soporte oficial del editor","Foro comunidad","SLA garantizado","Partner Odoo certificado",[81,82,83,84],"Actualizaciones automáticas (Odoo.sh)","No aplica","Incluidas","Script de migración manual",[86,87,88,89],"Número de usuarios","Ilimitado","Ilimitado (licenciado)","Sin restricciones",[91,92,93,92],"Precio (autoalojado)","Gratuito","Gratuito si es autoalojado *",{"type":36,"title":95,"body":96},"Requisitos del VPS para alojar Odoo 17","Odoo es una aplicación Python\u002FPostgreSQL que consume bastante RAM, especialmente cuando varios usuarios trabajan simultáneamente. El dimensionamiento mínimo recomendado para una pyme de 5 a 15 usuarios:\n\n- **CPU**: mínimo 4 vCPU; Odoo es multiproceso y aprovecha el paralelismo\n- **RAM**: 8 GB recomendados (4 GB funcionan para pruebas, insuficientes en producción)\n- **Almacenamiento**: 40 GB SSD NVMe; planifica más si activas e-commerce con medios\n- **SO**: Ubuntu 22.04 LTS o Debian 12\n- **Docker Engine** 24+ y **Docker Compose** v2\n- Un **nombre de dominio** apuntando a la IP del VPS\n- Un **proxy inverso** (Caddy o Nginx) para gestionar TLS\n\nUn VPS 299 DH\u002Fmes en ServOrbit.com cubre ampliamente estos requisitos.",{"type":98,"title":99,"steps":100},"steps","Instalar Odoo 17 con Docker Compose",[101,104,107,110,113,116],{"title":102,"body":103},"Crear la estructura de directorios","Conéctate por SSH a tu VPS y crea el árbol de trabajo:\n\n```bash\nmkdir -p \u002Fopt\u002Fodoo\u002F{data,addons,config,backups}\ncd \u002Fopt\u002Fodoo\n```\n\nEstas carpetas albergarán los datos persistentes, módulos personalizados, configuración de Odoo y copias de seguridad respectivamente.",{"title":105,"body":106},"Redactar el archivo docker-compose.yml","Crea `\u002Fopt\u002Fodoo\u002Fdocker-compose.yml` con el siguiente contenido:\n\n```yaml\nservices:\n  db:\n    image: postgres:16\n    restart: unless-stopped\n    environment:\n      POSTGRES_DB: postgres\n      POSTGRES_USER: odoo\n      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}\n    volumes:\n      - .\u002Fdata\u002Fpostgres:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U odoo\"]\n      interval: 10s\n      retries: 5\n\n  odoo:\n    image: odoo:17.0\n    restart: unless-stopped\n    depends_on:\n      db:\n        condition: service_healthy\n    environment:\n      HOST: db\n      USER: odoo\n      PASSWORD: ${POSTGRES_PASSWORD}\n    volumes:\n      - .\u002Fdata\u002Fodoo:\u002Fvar\u002Flib\u002Fodoo\n      - .\u002Faddons:\u002Fmnt\u002Fextra-addons\n      - .\u002Fconfig\u002Fodoo.conf:\u002Fetc\u002Fodoo\u002Fodoo.conf\n    ports:\n      - \"127.0.0.1:8069:8069\"\n      - \"127.0.0.1:8072:8072\"\n```",{"title":108,"body":109},"Crear el archivo .env y la configuración de Odoo","Crea `\u002Fopt\u002Fodoo\u002F.env`:\n\n```bash\nPOSTGRES_PASSWORD=$(openssl rand -hex 32)\necho \"POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\" > \u002Fopt\u002Fodoo\u002F.env\n```\n\nLuego crea `\u002Fopt\u002Fodoo\u002Fconfig\u002Fodoo.conf`:\n\n```ini\n[options]\ndb_host = db\ndb_port = 5432\ndb_user = odoo\ndb_password = ${POSTGRES_PASSWORD}\naddons_path = \u002Fusr\u002Flib\u002Fpython3\u002Fdist-packages\u002Fodoo\u002Faddons,\u002Fmnt\u002Fextra-addons\nadmin_passwd = REEMPLAZAR_CON_CONTRASEÑA_FUERTE\nwithout_demo = all\nworkers = 4\nmax_cron_threads = 2\nlimit_memory_hard = 2684354560\nlimit_memory_soft = 2147483648\n```",{"title":111,"body":112},"Configurar el proxy inverso con Caddy","Caddy es la opción más sencilla: gestiona TLS automáticamente mediante Let's Encrypt. Instálalo y crea `\u002Fetc\u002Fcaddy\u002FCaddyfile`:\n\n```\nodoo.tudominio.com {\n    reverse_proxy 127.0.0.1:8069\n\n    handle \u002Fwebsocket {\n        reverse_proxy 127.0.0.1:8072\n    }\n\n    header {\n        X-Frame-Options SAMEORIGIN\n        X-Content-Type-Options nosniff\n        Strict-Transport-Security \"max-age=31536000; includeSubDomains\"\n    }\n\n    encode gzip\n}\n```\n\nRecarga Caddy: `systemctl reload caddy`.",{"title":114,"body":115},"Iniciar los contenedores","Desde `\u002Fopt\u002Fodoo`, ejecuta:\n\n```bash\ndocker compose up -d\n```\n\nSigue los logs de arranque:\n\n```bash\ndocker compose logs -f odoo\n```\n\nOdoo tarda 30 a 60 segundos en inicializarse. Verás `HTTP service (werkzeug) running` cuando esté listo.",{"title":117,"body":118},"Acceder a la interfaz y crear la base de datos","Abre `https:\u002F\u002Fodoo.tudominio.com\u002Fweb\u002Fdatabase\u002Fmanager` en tu navegador. Introduce la contraseña maestra (`admin_passwd`) definida en `odoo.conf`, elige un nombre de base de datos, idioma y correo de administrador, luego haz clic en **Crear**. La primera inicialización tarda de 2 a 5 minutos según los módulos seleccionados.",{"type":36,"title":120,"body":121},"Configurar la base de datos y la instancia","Tras la creación de la base de datos, Odoo te redirige a la interfaz principal. Lo primero que hay que hacer es **verificar la contraseña maestra** en `Ajustes > Técnico > Contraseña maestra`. Esta contraseña protege el acceso al gestor de bases de datos — debe ser larga y única.\n\nEn `Ajustes > General`, configura el nombre de la empresa, la moneda base, la zona horaria y la dirección. Estos parámetros influyen en los documentos generados (facturas, pedidos de compra).",{"type":36,"title":123,"body":124},"Configurar las copias de seguridad automáticas","Una instancia Odoo en producción sin copias de seguridad es una deuda técnica inmediata. La estrategia recomendada se basa en dos niveles.\n\n**Volcado diario de PostgreSQL** con un script cron:\n\n```bash\n#!\u002Fbin\u002Fbash\nDATE=$(date +%Y%m%d_%H%M%S)\nBACKUP_DIR=\u002Fopt\u002Fodoo\u002Fbackups\nDB_NAME=tu_base_de_datos\n\ndocker compose -f \u002Fopt\u002Fodoo\u002Fdocker-compose.yml exec -T db \\\n  pg_dump -U odoo ${DB_NAME} | gzip > ${BACKUP_DIR}\u002Fodoo_${DATE}.sql.gz\n\n# Conservar 7 días\nfind ${BACKUP_DIR} -name \"odoo_*.sql.gz\" -mtime +7 -delete\n```\n\nPlanifica este script en `\u002Fetc\u002Fcron.d\u002Fodoo-backup` para ejecutarse a las 02:00 cada noche.\n\n**Copia de seguridad de volúmenes**: la carpeta `\u002Fopt\u002Fodoo\u002Fdata\u002Fodoo` contiene adjuntos, imágenes y archivos subidos. Sincronízala diariamente con almacenamiento de objetos usando `rclone` o `restic`.",{"type":40,"title":126,"items":127},"Activar los módulos clave tras la instalación",[128,129,130,131,132,133,134,135],"**Ventas** (`sale_management`): presupuestos, pedidos, portal de clientes","**Contabilidad** (`account_accountant`): plan de cuentas, IVA, conciliación bancaria","**Inventario** (`stock`): gestión multialmacén, lotes y números de serie","**Compras** (`purchase`): solicitudes de compra, licitaciones, facturación a proveedores","**Recursos Humanos** (`hr`): ficha de empleado, estructura organizativa, documentos RRHH","**Helpdesk** (`helpdesk`): ticketing, SLA, portal de autoservicio del cliente","**Sitio web** (`website`): constructor de páginas, blog, formularios de contacto","**E-Commerce** (`website_sale`): tienda online, carrito, pago",{"type":98,"title":137,"steps":138},"Optimizar el rendimiento de tu instancia",[139,142,145,148],{"title":140,"body":141},"Ajustar el número de workers","En `odoo.conf`, el parámetro `workers` controla el número de procesos Python que gestionan las solicitudes HTTP. La regla práctica: `workers = (vCPU × 2) + 1`. En un VPS de 4 vCPU, fija `workers = 4`.",{"title":143,"body":144},"Configurar los límites de memoria","Odoo mata los workers que superan los límites definidos para evitar fugas de memoria.\n\n```ini\nlimit_memory_soft = 2147483648   # 2 GB: señal de fin gracioso\nlimit_memory_hard = 2684354560   # 2,5 GB: kill inmediato\n```",{"title":146,"body":147},"Limitar los crons para no saturar la CPU","El parámetro `max_cron_threads = 2` reserva 2 hilos para tareas planificadas. Más allá, los crons compiten con los workers HTTP. En un servidor dedicado a Odoo, puedes subir a 4, pero empieza de forma conservadora.",{"title":149,"body":150},"Activar el almacenamiento de sesiones Redis (opcional)","Por defecto, Odoo almacena las sesiones en disco. Añade un servicio Redis a `docker-compose.yml` y configura:\n\n```ini\nsession_store = redis\nredis_url = redis:\u002F\u002Fredis:6379\n```",{"type":36,"title":152,"body":153},"Asegurar la instancia Odoo en producción","La seguridad de una instancia Odoo se basa en varias capas complementarias.\n\n**Desactivar el gestor de bases de datos** en producción es la medida más importante. Añade en `odoo.conf`:\n\n```ini\ndbfilter = ^tu_base$\nlist_db = False\n```\n\n`list_db = False` oculta la interfaz de gestión e impide la enumeración de bases de datos.\n\n**Forzar TLS**: Caddy lo gestiona de forma nativa.\n\n**Fail2ban**: configura una jaula para intentos de inicio de sesión fallidos en `\u002Fweb\u002Flogin`.\n\n**Contraseña maestra robusta**: esta contraseña debe tener al menos 32 caracteres alfanuméricos generados aleatoriamente.",{"type":155,"title":156,"body":157},"tip","Consejo avanzado: integrar módulos personalizados","La carpeta `\u002Fopt\u002Fodoo\u002Faddons` está montada en el contenedor en `\u002Fmnt\u002Fextra-addons`. Para instalar un módulo de la comunidad (OCA o desarrollado internamente), colócalo en esta carpeta y añade la ruta a `addons_path` en `odoo.conf`.\n\nTras añadir un módulo, reinicia Odoo (`docker compose restart odoo`), luego ve a `Ajustes > Aplicaciones > Actualizar lista de aplicaciones`. El módulo aparece en la lista y se instala como cualquier módulo nativo.",{"type":54,"title":159,"headers":160,"rows":164},"Comparativa de alojamiento: VPS autoalojado vs Odoo SaaS",[161,162,163],"Criterio","VPS autoalojado (ServOrbit.com)","Odoo.sh \u002F SaaS socio",[165,169,173,177,181,185,189,193,197],[166,167,168],"Coste mensual (10 usuarios)","Desde 99 DH\u002Fmes","150 a 500 € según módulos",[170,171,172],"Control de datos","Total — datos en tu servidor","Datos con el editor o el socio",[174,175,176],"Módulos Community","Todos disponibles, sin restricciones","Depende del plan y el socio",[178,179,180],"Módulos Enterprise","No incluidos (licencia separada)","Incluidos en la suscripción",[182,183,184],"Copias de seguridad","A tu cargo, configurables","Gestionadas por la plataforma",[186,187,188],"Actualizaciones","Manuales (migración mayor)","Gestionadas (actualización asistida)",[190,191,192],"Personalización","Ilimitada","Restringida o facturable",[194,195,196],"Habilidades requeridas","Administración Linux, Docker","Sin necesidad de conocimientos de servidor",[198,199,200],"Soporte técnico","Comunidad + socio a elección","SLA según contrato con el editor","Despliega tu ERP con total autonomía","ServOrbit.com ofrece VPS optimizados para cargas de trabajo exigentes como Odoo. Recursos dedicados, SSD NVMe, soporte técnico ágil — todo lo necesario para ejecutar tu ERP en producción.","Deploy Odoo on VPS","\u002Fsolutions\u002Fprofessionnels",[206,225,242],{"id":207,"slug":208,"slugs":209,"title":213,"excerpt":214,"readTime":215,"views":18,"isPinned":19,"publishedAt":216,"updatedAt":217,"category":218,"categories":219,"featuredImage":30,"bgImage":31,"posterImage":221,"relatedSolution":222},150,"como-alojar-erpnext-en-un-vps",{"fr":210,"en":211,"ar":212,"es":208},"heberger-erpnext-vps","how-to-host-erpnext-on-a-vps","كيفية-استضافة-erpnext-على-vps","Alojar ERPNext en un VPS: guía completa","Despliega ERPNext en tu VPS: módulos, posinstalación, monitorización, resolución de errores y comparativa con Odoo Community. Guía completa con Frappe Docker.",9,"2026-01-26T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[220],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-erpnext-vps-poster.svg",{"categorySlug":223,"appSlug":224},"erp-gestion-empresarial","erpnext",{"id":226,"slug":227,"slugs":228,"title":232,"excerpt":233,"readTime":234,"views":18,"isPinned":19,"publishedAt":235,"updatedAt":217,"category":236,"categories":237,"featuredImage":30,"bgImage":31,"posterImage":239,"relatedSolution":240},323,"dejar-hubspot-por-twenty-crm-autoalojado-en-vps",{"fr":229,"en":230,"ar":231,"es":227},"quitter-hubspot-twenty-crm-self-hosted","leaving-hubspot-for-self-hosted-twenty-crm-on-a-vps","الانتقال-من-hubspot-إلى-twenty-crm-المستضاف-ذاتيا","Dejar HubSpot por Twenty CRM autoalojado en VPS","HubSpot Professional llega a $100 por asiento al mes en 2026. Aprende a migrar a Twenty CRM open source en un VPS en menos de un día.",12,"2026-09-03T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[238],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fquitter-hubspot-twenty-crm-self-hosted-poster.svg",{"categorySlug":223,"appSlug":241},"twenty",{"id":243,"slug":244,"slugs":245,"title":249,"excerpt":250,"readTime":17,"views":18,"isPinned":19,"publishedAt":251,"updatedAt":252,"category":253,"categories":254,"featuredImage":30,"bgImage":31,"posterImage":256,"relatedSolution":257},368,"wordpress-multisite-vps-gestiona-n-sitios-en-una-instalacion",{"fr":246,"en":247,"ar":248,"es":244},"wordpress-multisite-vps-agence","wordpress-multisite-vps-manage-n-client-sites-one-install","ووردبريس-متعدد-المواقع-على-vps-ادارة-مواقع-العملاء","WordPress Multisite en VPS: gestiona N sitios en una instalación","Activa WordPress Multisite en un VPS para centralizar N sitios de clientes bajo una base de código, una actualización y subdominios aislados. Guía para agencias.","2026-09-20T00:00:00+00:00","2026-09-20T21:13:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[255],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fwordpress-multisite-vps-agence-poster.svg",{"categorySlug":258,"appSlug":259},"cms-sitios-web","wordpress",1790693296473]