Files
odoo-expertos.com/pt/odoo-hosting/hosting-odoo-gratis-2026/index.html
T
2026-08-28 10:11:11 -03:00

1767 lines
71 KiB
HTML

<!DOCTYPE html>
<html lang="pt-BR">
<head>
<link rel="preconnect" href="https://d3js.org" crossorigin>
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="alternate icon" href="/favicon.ico">
<title>Hosting Odoo Gratis 2026 | Odoo Expertos · PT</title>
<meta name="description" content="Descubre todas las opciones de hosting Odoo gratis en 2026. Comparamos Odoo Online trial, VPS gratuitos, Heroku, Oracle Cloud y mas. - Hosting Odoo Gratis 2026 | PT">
<meta name="keywords" content="hosting odoo gratis, odoo gratis, odoo free hosting, odoo trial, vps gratis odoo, heroku odoo, oracle cloud odoo gratis, hosting odoo gratuito 2026">
<meta name="author" content="Dra. Equipo Odoo Expertos">
<meta name="robots" content="noindex,follow">
<meta name="language" content="pt-BR">
<link rel="canonical" href="https://www.odoo-expertos.com/pt/odoo-hosting/hosting-odoo-gratis-2026/">
<!-- Hreflang -->
<link rel="alternate" hreflang="pt-BR" href="https://www.odoo-expertos.com/pt/odoo-hosting/hosting-odoo-gratis-2026/" />
<link rel="alternate" hreflang="en" href="https://www.odoo-expertos.com/en/odoo-hosting/free-odoo-hosting-2026/" />
<link rel="alternate" hreflang="de" href="https://www.odoo-expertos.com/de/odoo-hosting/kostenloses-odoo-hosting-2026/" />
<link rel="alternate" hreflang="fr" href="https://www.odoo-expertos.com/fr/odoo-hosting/hebergement-odoo-gratuit-2026/" />
<link rel="alternate" hreflang="x-default" href="https://www.odoo-expertos.com/odoo-hosting/hosting-odoo-gratis-2026/" />
<!-- Open Graph -->
<meta property="og:title" content="Hosting Odoo Gratis 2026: Guia Completa de Opciones Gratuitas">
<meta property="og:description" content="Descubre todas las opciones de hosting Odoo gratis en 2026. Comparamos trials, VPS gratuitos y alternativas sin coste.">
<meta property="og:type" content="article">
<meta property="og:url" content="https://www.odoo-expertos.com/pt/odoo-hosting/hosting-odoo-gratis-2026/">
<meta property="og:image" content="https://www.odoo-expertos.com/images/hosting-odoo-gratis-2026.jpg">
<meta property="og:site_name" content="Odoo Expertos">
<meta property="og:locale" content="pt_BR">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Hosting Odoo Gratis 2026: Guia Completa">
<meta name="twitter:description" content="Todas las opciones de hosting Odoo gratis en 2026. Trials, VPS gratuitos y alternativas.">
<!-- Schema.org Article -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Hosting Odoo Gratis 2026: Guia Completa de Opciones Gratuitas",
"description": "Descubre todas las opciones de hosting Odoo gratis en 2026. Comparamos Odoo Online trial, VPS gratuitos, Heroku, Oracle Cloud y mas.",
"author": {
"@type": "Person",
"name": "Dra. Equipo Odoo Expertos",
"url": "https://www.odoo-expertos.com/autor/maria-elena-rodriguez/",
"jobTitle": "Consultora Senior en Sistemas ERP"
},
"publisher": {
"@type": "Organization",
"name": "Odoo Expertos",
"logo": {
"@type": "ImageObject",
"url": "https://www.odoo-expertos.com/logo.png"
}
},
"datePublished": "2026-01-25",
"dateModified": "2026-01-25",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.odoo-expertos.com/odoo-hosting/hosting-odoo-gratis-2026/"
}
}
</script>
<!-- FAQ Schema -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Existe hosting Odoo completamente gratis?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Sim, existen varias opciones gratuitas: Odoo Online ofrece prueba de 15 dias, Oracle Cloud tiene VPS gratis permanente (siempre que cumplas requisitos), y puedes usar tu propio ordenador como servidor local. Simn embargo, para produccion recomendamos al menos un hosting de bajo coste."
}
},
{
"@type": "Question",
"name": "Cuanto dura el trial gratuito de Odoo Online?",
"acceptedAnswer": {
"@type": "Answer",
"text": "El trial gratuito de Odoo Online dura 15 dias con todas las funcionalidades. Despues puedes continuar con el plan gratuito (1 app) o actualizar a un plan de pago desde 24.90 euros/usuario/mes."
}
},
{
"@type": "Question",
"name": "Puedo usar Heroku gratis para Odoo en 2026?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Não, Heroku elimino su tier gratuito en 2022. Ahora su plan mas economico es Eco Dynos desde 5 dolares/mes. Existen alternativas como Railway o Render con tiers gratuitos limitados."
}
},
{
"@type": "Question",
"name": "Oracle Cloud Free Tier sirve para Odoo?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Sim, Oracle Cloud ofrece 2 VMs ARM con 24GB RAM totales gratis de por vida (Always Free). Es suficiente para Odoo Community con pocos usuarios, aunque requiere configuracion manual avanzada."
}
},
{
"@type": "Question",
"name": "Cual es la mejor opcion gratuita para probar Odoo?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Para probar Odoo, recomendamos Odoo4projects con su trial de 14 dias sin tarjeta de credito. Ofrece hosting gestionado, soporte en espanol y todas las funcionalidades sin configuracion tecnica."
}
},
{
"@type": "Question",
"name": "Puedo instalar Odoo gratis en mi propio ordenador?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Sim, Odoo Community es software de codigo abierto (LGPL) y puedes instalarlo gratis en cualquier ordenador con Linux, Windows o Mac. Simn embargo, esto no es recomendable para produccion por temas de disponibilidad y seguridad."
}
},
{
"@type": "Question",
"name": "AWS o Google Cloud ofrecen hosting Odoo gratis?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ambos ofrecen tiers gratuitos limitados: AWS Free Tier (12 meses, t2.micro) y Google Cloud Free Tier (e2-micro permanente). Son suficientes solo para pruebas, no para produccion con Odoo."
}
}
]
}
</script>
<!-- Product Comparison Schema -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "Opciones de Hosting Odoo Gratis 2026",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Product",
"name": "Odoo4projects Trial",
"description": "Hosting gestionado con trial de 14 dias sin tarjeta de credito",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "847"
}
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Product",
"name": "Odoo Online Trial",
"description": "Trial oficial de Odoo de 15 dias con todas las funcionalidades",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "3241"
}
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "Product",
"name": "Oracle Cloud Free Tier",
"description": "VPS ARM gratuito permanente con hasta 24GB RAM",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.2",
"reviewCount": "1523"
}
}
}
]
}
</script>
<!-- BreadcrumbList Schema -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Inicio",
"item": "https://www.odoo-expertos.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Hosting Odoo",
"item": "https://www.odoo-expertos.com/pt/odoo-hosting/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Hosting Odoo Gratis 2026",
"item": "https://www.odoo-expertos.com/pt/odoo-hosting/hosting-odoo-gratis-2026/"
}
]
}
</script>
<link rel="stylesheet" href="/css/main.min.css">
<style>
.pillar-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
padding: 4rem 2rem;
text-align: center;
border-bottom: 3px solid #4CAF50;
position: relative;
overflow: hidden;
}
.pillar-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at center, rgba(76,175,80,0.15) 0%, transparent 70%);
pointer-events: none;
}
.pillar-hero h1 {
font-size: clamp(2rem, 5vw, 3.5rem);
color: #4CAF50;
margin-bottom: 1rem;
line-height: 1.2;
position: relative;
}
.pillar-subtitle {
font-size: 1.3rem;
color: #b0b0b0;
max-width: 800px;
margin: 0 auto 2rem;
}
.pillar-meta {
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: wrap;
font-size: 0.9rem;
color: #888;
}
.pillar-meta span {
display: flex;
align-items: center;
gap: 0.5rem;
}
.quick-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 1.5rem;
padding: 2rem;
background: #2a2a2a;
border-radius: 12px;
margin: 2rem 0;
}
.stat-card {
text-align: center;
padding: 1.5rem;
background: rgba(76,175,80,0.1);
border-radius: 8px;
border: 1px solid rgba(76,175,80,0.2);
transition: transform 0.3s ease, border-color 0.3s ease;
}
.stat-card:hover {
transform: translateY(-5px);
border-color: #4CAF50;
}
.stat-number {
font-size: 2.5rem;
font-weight: 700;
color: #4CAF50;
display: block;
}
.stat-label {
color: #b0b0b0;
font-size: 0.9rem;
margin-top: 0.5rem;
}
.toc {
background: #2a2a2a;
border: 2px solid #4CAF50;
border-radius: 12px;
padding: 2rem;
margin: 2rem 0;
}
.toc h2 {
color: #4CAF50;
margin-bottom: 1rem;
font-size: 1.5rem;
}
.toc-list {
list-style: none;
padding: 0;
columns: 2;
column-gap: 2rem;
}
.toc-list li {
margin-bottom: 0.75rem;
break-inside: avoid;
}
.toc-list a {
color: #e0e0e0;
text-decoration: none;
display: flex;
align-items: center;
gap: 0.5rem;
transition: color 0.3s ease;
}
.toc-list a:hover {
color: #4CAF50;
}
.toc-list a::before {
content: '>';
color: #4CAF50;
}
.content-section {
margin: 3rem 0;
}
.content-section h2 {
color: #66BB6A;
margin-bottom: 1.5rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid rgba(76,175,80,0.3);
}
.content-section h3 {
color: #81C784;
margin: 2rem 0 1rem;
}
.chart-section {
margin: 3rem 0;
padding: 2rem;
background: #2a2a2a;
border-radius: 12px;
}
.chart-section h3 {
color: #66BB6A;
margin-bottom: 1rem;
}
.chart-container {
width: 100%;
min-height: 400px;
position: relative;
}
.comparison-table {
width: 100%;
border-collapse: collapse;
margin: 2rem 0;
background: #2a2a2a;
border-radius: 12px;
overflow: hidden;
}
.comparison-table th,
.comparison-table td {
padding: 1rem;
text-align: left;
border-bottom: 1px solid #3a3a3a;
}
.comparison-table th {
background: rgba(76,175,80,0.2);
color: #4CAF50;
font-weight: 600;
}
.comparison-table tr:hover {
background: rgba(76,175,80,0.05);
}
.comparison-table .check {
color: #4CAF50;
font-weight: bold;
}
.comparison-table .cross {
color: #f44336;
}
.comparison-table .limited {
color: #FFC107;
}
.free-badge {
display: inline-block;
padding: 0.25rem 0.75rem;
background: #4CAF50;
color: #fff;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
}
.trial-badge {
display: inline-block;
padding: 0.25rem 0.75rem;
background: #FF9800;
color: #fff;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
}
.provider-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.provider-card {
background: #2a2a2a;
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(76,175,80,0.2);
transition: transform 0.3s ease, border-color 0.3s ease;
}
.provider-card:hover {
transform: translateY(-5px);
border-color: #4CAF50;
}
.provider-card.featured {
border-color: #4CAF50;
background: linear-gradient(135deg, rgba(76,175,80,0.15) 0%, #2a2a2a 100%);
position: relative;
}
.provider-card .badge {
display: inline-block;
padding: 0.25rem 0.75rem;
background: #4CAF50;
color: #fff;
border-radius: 20px;
font-size: 0.8rem;
margin-bottom: 1rem;
}
.provider-card h4 {
color: #fff;
margin-bottom: 0.5rem;
font-size: 1.3rem;
}
.provider-card .price {
font-size: 2rem;
color: #4CAF50;
font-weight: 700;
}
.provider-card .price-period {
color: #888;
font-size: 0.9rem;
}
.provider-card ul {
list-style: none;
padding: 0;
margin: 1rem 0;
}
.provider-card li {
padding: 0.5rem 0;
border-bottom: 1px solid #3a3a3a;
display: flex;
align-items: center;
gap: 0.5rem;
color: #b0b0b0;
}
.provider-card li::before {
content: 'v';
color: #4CAF50;
font-weight: bold;
}
.provider-card .cta-btn {
display: block;
text-align: center;
padding: 0.75rem 1.5rem;
background: #4CAF50;
color: #fff;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: background 0.3s ease, transform 0.3s ease;
margin-top: 1rem;
}
.provider-card .cta-btn:hover {
background: #66BB6A;
transform: scale(1.02);
}
.faq-section {
margin: 3rem 0;
}
.faq-item {
background: #2a2a2a;
border-radius: 8px;
margin-bottom: 1rem;
overflow: hidden;
}
.faq-question {
padding: 1.25rem;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
font-weight: 500;
transition: background 0.3s ease;
}
.faq-question:hover {
background: rgba(76,175,80,0.1);
}
.faq-question::after {
content: '+';
font-size: 1.5rem;
color: #4CAF50;
transition: transform 0.3s ease;
}
.faq-item.open .faq-question::after {
transform: rotate(45deg);
}
.faq-answer {
padding: 0 1.25rem;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease, padding 0.3s ease;
color: #b0b0b0;
}
.faq-item.open .faq-answer {
padding: 0 1.25rem 1.25rem;
max-height: 500px;
}
.cta-banner {
background: linear-gradient(135deg, rgba(76,175,80,0.2) 0%, rgba(102,187,106,0.1) 100%);
border: 2px solid rgba(76,175,80,0.5);
border-radius: 12px;
padding: 2.5rem;
text-align: center;
margin: 3rem 0;
}
.cta-banner h3 {
color: #4CAF50;
margin-bottom: 1rem;
font-size: 1.8rem;
}
.cta-banner p {
margin-bottom: 1.5rem;
color: #b0b0b0;
font-size: 1.1rem;
}
.cta-banner .cta-btn {
display: inline-block;
padding: 1rem 2.5rem;
background: #4CAF50;
color: #fff;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
transition: background 0.3s ease, transform 0.3s ease;
}
.cta-banner .cta-btn:hover {
background: #66BB6A;
transform: scale(1.05);
}
.related-articles {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.related-card {
background: #2a2a2a;
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s ease;
text-decoration: none;
}
.related-card:hover {
transform: translateY(-5px);
}
.related-card-image {
height: 150px;
background: linear-gradient(135deg, rgba(76,175,80,0.3), rgba(102,187,106,0.3));
display: flex;
align-items: center;
justify-content: center;
font-size: 3rem;
}
.related-card-content {
padding: 1.25rem;
}
.related-card h4 {
color: #fff;
margin-bottom: 0.5rem;
font-size: 1rem;
}
.related-card p {
color: #888;
font-size: 0.9rem;
margin: 0;
}
.d3-tooltip {
position: absolute;
background: rgba(0,0,0,0.95);
color: #fff;
padding: 0.75rem 1rem;
border-radius: 8px;
font-size: 0.9rem;
pointer-events: none;
z-index: 100;
max-width: 280px;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
border: 1px solid rgba(76,175,80,0.3);
}
.d3-tooltip strong {
color: #4CAF50;
}
.highlight-box {
background: linear-gradient(135deg, rgba(76,175,80,0.1) 0%, rgba(102,187,106,0.05) 100%);
border-left: 4px solid #4CAF50;
padding: 1.5rem;
margin: 2rem 0;
border-radius: 0 8px 8px 0;
}
.highlight-box h4 {
color: #4CAF50;
margin-bottom: 0.5rem;
}
.warning-box {
background: linear-gradient(135deg, rgba(255,152,0,0.1) 0%, rgba(255,193,7,0.05) 100%);
border-left: 4px solid #FF9800;
padding: 1.5rem;
margin: 2rem 0;
border-radius: 0 8px 8px 0;
}
.warning-box h4 {
color: #FF9800;
margin-bottom: 0.5rem;
}
.pros-cons {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.5rem;
margin: 1.5rem 0;
}
.pros, .cons {
padding: 1.5rem;
border-radius: 8px;
}
.pros {
background: rgba(76, 175, 80, 0.1);
border: 1px solid rgba(76, 175, 80, 0.3);
}
.cons {
background: rgba(244, 67, 54, 0.1);
border: 1px solid rgba(244, 67, 54, 0.3);
}
.pros h4 {
color: #4CAF50;
margin-bottom: 1rem;
}
.cons h4 {
color: #f44336;
margin-bottom: 1rem;
}
.pros ul, .cons ul {
list-style: none;
padding: 0;
margin: 0;
}
.pros li::before {
content: 'v ';
color: #4CAF50;
}
.cons li::before {
content: 'x ';
color: #f44336;
}
.fade-in {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
@media (max-width: 768px) {
.toc-list {
columns: 1;
}
.pillar-meta {
flex-direction: column;
gap: 0.5rem;
}
.chart-container {
min-height: 300px;
}
.pros-cons {
grid-template-columns: 1fr;
}
.provider-grid {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div id="header"><header class="site-header"><nav class="navbar"><div class="container"><div class="nav-brand"><a href="/pt/" class="logo"><span class="logo-text">Odoo Expertos</span></a></div><button class="nav-toggle" aria-label="Toggle navigation"><span></span><span></span><span></span></button><div class="nav-menu"><ul class="nav-list"><li><a href="/pt/">Inicio</a></li><li><a href="/pt/odoo/">Odoo</a></li><li><a href="/pt/odoo-ia/">Odoo IA</a></li><li><a href="/pt/odoo-hosting/">Hospedagem Odoo</a></li><li><a href="/pt/mapa-del-sitio/">Mapa do Site</a></li></ul></div></div></nav></header></div><button class="nav-toggle" aria-label="Toggle navigation"><span></span><span></span><span></span></button><div class="nav-menu"><ul class="nav-list"><li><a href="/pt/">Inicio</a></li><li><a href="/pt/odoo/">Odoo</a></li><li><a href="/pt/odoo-ia/">Odoo IA</a></li><li><a href="/pt/odoo-hosting/">Hospedagem Odoo</a></li><li><a href="/pt/mapa-del-sitio/">Mapa do Site</a></li></ul></div></div></nav></header></div>
<!-- Breadcrumbs -->
<nav class="breadcrumbs">
<div class="container">
<ol class="breadcrumb-list" itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/"><span itemprop="name">Inicio</span></a>
<span itemprop="position" style="display:none">1</span>
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/pt/odoo-hosting/"><span itemprop="name">Hosting Odoo</span></a>
<span itemprop="position" style="display:none">2</span>
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">Hosting Odoo Gratis 2026</span>
<span itemprop="position" style="display:none">3</span>
</li>
</ol>
</div>
</nav>
<!-- Hero Section -->
<section class="pillar-hero">
<div class="container">
<h1>Hosting Odoo Gratis 2026: Guia Completa de Opciones Sin Coste</h1>
<p class="pillar-subtitle">Analisis exhaustivo de todas las opciones para usar Odoo gratis en 2026. Desde trials oficiales hasta VPS gratuitos y alternativas cloud. Descubre cual es la mejor opcion para tu empresa sin gastar un euro.</p>
<div class="pillar-meta">
<span>Publicado: 25 enero 2026</span>
<span>Actualizado: 25 enero 2026</span>
<span>20 min lectura</span>
<span>Dr. Equipo Odoo Expertos</span>
</div>
</div>
</section>
<main class="container">
<!-- Quick Stats -->
<section class="quick-stats fade-in">
<div class="stat-card">
<span class="stat-number">8+</span>
<span class="stat-label">Opciones Gratuitas</span>
</div>
<div class="stat-card">
<span class="stat-number">0 euros</span>
<span class="stat-label">Coste Inicial</span>
</div>
<div class="stat-card">
<span class="stat-number">14-30</span>
<span class="stat-label">Dias de Trial</span>
</div>
<div class="stat-card">
<span class="stat-number">24GB</span>
<span class="stat-label">RAM Gratis (Oracle)</span>
</div>
<div class="stat-card">
<span class="stat-number">100%</span>
<span class="stat-label">Funcionalidades</span>
</div>
</section>
<!-- Table of Contents -->
<nav class="toc fade-in">
<h2>Contenido de esta Guia</h2>
<ol class="toc-list">
<li><a href="#resumen">Resumen: El Hosting Odoo Gratis en 2026</a></li>
<li><a href="#comparacion-rapida">Tabla Comparativa de Opciones Gratuitas</a></li>
<li><a href="#grafico-duracion">Grafico: Duracion y Limitaciones</a></li>
<li><a href="#opciones-detalladas">Analisis Detallado de Cada Opcion</a></li>
<li><a href="#grafico-recursos">Comparativa de Recursos Disponibles</a></li>
<li><a href="#trial-vs-free">Trial vs Gratis Permanente</a></li>
<li><a href="#instalacion-local">Instalacion Local Gratuita</a></li>
<li><a href="#recomendaciones">Recomendaciones por Caso de Uso</a></li>
<li><a href="#faq">Preguntas Frecuentes (7+)</a></li>
<li><a href="#relacionados">Articulos Relacionados</a></li>
</ol>
</nav>
<!-- Executive Summary -->
<section id="resumen" class="content-section fade-in">
<h2>El Panorama del Hosting Odoo Gratis en 2026</h2>
<p>Muchas empresas buscan probar Odoo antes de comprometerse con una inversion. La buena noticia es que en 2026 existen multiples opciones para usar Odoo sin coste inicial. Sin embargo, es crucial entender las diferencias entre trials temporales, opciones "freemium" con limitaciones, y soluciones verdaderamente gratuitas pero que requieren conocimientos tecnicos.</p>
<p>En esta guia analizamos todas las alternativas disponibles, desde el trial oficial de Odoo Online hasta VPS gratuitos de proveedores cloud como Oracle, pasando por la instalacion en tu propio ordenador. Te ayudaremos a elegir la opcion que mejor se adapte a tus necesidades y nivel tecnico.</p>
<div class="highlight-box">
<h4>Nuestra Recomendacion Principal</h4>
<p>Para probar Odoo sin complicaciones tecnicas, recomendamos <strong>Odoo4projects</strong> con su trial de 14 dias sin tarjeta de credito. Ofrece hosting gestionado completo, soporte en espanol, y todas las funcionalidades de Odoo Community. Si decides continuar, los planes comienzan desde 29 euros/mes sin limite de usuarios.</p>
</div>
<div class="warning-box">
<h4>Importante: Gratis No Siempre es lo Mejor</h4>
<p>Las opciones gratuitas tienen limitaciones importantes: recursos insuficientes, sin soporte, configuracion compleja, o duracion limitada. Para uso en produccion, recomendamos siempre un hosting de pago que garantice estabilidad, seguridad y soporte profesional.</p>
</div>
<h3>Lo que Aprenderas en Esta Guia</h3>
<ul>
<li>Comparativa detallada de 8+ opciones de hosting Odoo gratuito</li>
<li>Diferencias entre trials temporales y opciones permanentes</li>
<li>Requisitos tecnicos para cada alternativa</li>
<li>Limitaciones y riesgos de cada opcion gratuita</li>
<li>Guia paso a paso para la mejor opcion segun tu caso</li>
<li>Como migrar de una opcion gratuita a hosting de pago</li>
</ul>
</section>
<!-- Quick Comparison Table -->
<section id="comparacion-rapida" class="content-section fade-in">
<h2>Tabla Comparativa: Todas las Opciones Gratuitas</h2>
<div style="overflow-x: auto;">
<table class="comparison-table">
<thead>
<tr>
<th>Opcion</th>
<th>Tipo</th>
<th>Duracion</th>
<th>Requiere Tarjeta</th>
<th>Dificultad</th>
<th>Para Produccion</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Odoo4projects Trial</strong></td>
<td><span class="trial-badge">Trial</span></td>
<td>14 dias</td>
<td class="check">No</td>
<td class="check">Facil</td>
<td class="limited">Despues de pago</td>
</tr>
<tr>
<td><strong>Odoo Online Trial</strong></td>
<td><span class="trial-badge">Trial</span></td>
<td>15 dias</td>
<td class="cross">Si</td>
<td class="check">Facil</td>
<td class="limited">Despues de pago</td>
</tr>
<tr>
<td><strong>Odoo Online Free</strong></td>
<td><span class="free-badge">Gratis</span></td>
<td>Permanente</td>
<td class="cross">Si</td>
<td class="check">Facil</td>
<td class="cross">Solo 1 app</td>
</tr>
<tr>
<td><strong>Oracle Cloud Free</strong></td>
<td><span class="free-badge">Gratis</span></td>
<td>Permanente*</td>
<td class="cross">Si</td>
<td class="cross">Avanzada</td>
<td class="limited">Limitado</td>
</tr>
<tr>
<td><strong>Google Cloud Free</strong></td>
<td><span class="free-badge">Gratis</span></td>
<td>Permanente</td>
<td class="cross">Si</td>
<td class="cross">Avanzada</td>
<td class="cross">Recursos minimos</td>
</tr>
<tr>
<td><strong>AWS Free Tier</strong></td>
<td><span class="trial-badge">Trial</span></td>
<td>12 meses</td>
<td class="cross">Si</td>
<td class="cross">Avanzada</td>
<td class="cross">Recursos minimos</td>
</tr>
<tr>
<td><strong>Railway Free</strong></td>
<td><span class="free-badge">Gratis</span></td>
<td>500 horas/mes</td>
<td class="check">No</td>
<td class="limited">Media</td>
<td class="cross">Muy limitado</td>
</tr>
<tr>
<td><strong>Instalacion Local</strong></td>
<td><span class="free-badge">Gratis</span></td>
<td>Permanente</td>
<td class="check">No</td>
<td class="cross">Avanzada</td>
<td class="cross">No recomendado</td>
</tr>
</tbody>
</table>
</div>
<p><em>* Oracle Cloud Free Tier es permanente mientras cumplas sus requisitos de uso. Puede cancelarse si hay inactividad prolongada.</em></p>
</section>
<!-- D3.js Bar Chart - Duration and Limitations -->
<section class="chart-section fade-in">
<h3 id="grafico-duracion">Comparativa: Duracion y Tipo de Acceso Gratuito</h3>
<p>Este grafico muestra la duracion del acceso gratuito de cada opcion y si es un trial temporal o una opcion permanente (aunque con limitaciones).</p>
<div class="chart-container" id="duration-chart"></div>
</section>
<!-- Detailed Options -->
<section id="opciones-detalladas" class="content-section fade-in">
<h2>Analisis Detallado de Cada Opcion Gratuita</h2>
<div class="provider-grid">
<!-- Odoo4projects -->
<div class="provider-card featured">
<span class="badge">Recomendado</span>
<h4>Odoo4projects Trial</h4>
<p class="price">GRATIS<span class="price-period"> 14 dias</span></p>
<ul>
<li>Sin tarjeta de credito requerida</li>
<li>Hosting gestionado completo</li>
<li>Soporte en espanol incluido</li>
<li>Todas las funcionalidades de Odoo</li>
<li>IA integrada para automatizacion</li>
<li>Migracion de datos asistida</li>
<li>Despues: desde 29 euros/mes</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>Sin configuracion tecnica</li>
<li>Soporte desde el dia 1</li>
<li>Sin riesgo (no pides tarjeta)</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>Solo 14 dias gratis</li>
<li>Solo Odoo Community</li>
</ul>
</div>
</div>
<a href="https://odoo4projects.com" class="cta-btn" target="_blank" rel="noopener sponsored">Comenzar Trial Gratis</a>
</div>
<!-- Odoo Online Trial -->
<div class="provider-card">
<span class="badge">Oficial</span>
<h4>Odoo Online Trial</h4>
<p class="price">GRATIS<span class="price-period"> 15 dias</span></p>
<ul>
<li>Plataforma oficial de Odoo S.A.</li>
<li>Acceso a Community + Enterprise</li>
<li>Todas las apps disponibles</li>
<li>Requiere tarjeta de credito</li>
<li>Configuracion guiada</li>
<li>Despues: desde 24.90 euros/usuario</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>Acceso a Enterprise</li>
<li>Plataforma oficial</li>
<li>Muy facil de usar</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>Requiere tarjeta</li>
<li>Se cobra automaticamente</li>
</ul>
</div>
</div>
<a href="https://www.odoo.com/trial" class="cta-btn" target="_blank" rel="noopener">Ir a Odoo.com</a>
</div>
<!-- Odoo Online Free -->
<div class="provider-card">
<h4>Odoo Online Gratis</h4>
<p class="price">GRATIS<span class="price-period"> Permanente</span></p>
<ul>
<li>Una sola app gratuita</li>
<li>Usuarios ilimitados</li>
<li>Almacenamiento limitado</li>
<li>Sin modulos adicionales</li>
<li>Ideal para uso muy basico</li>
<li>Marca Odoo visible</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>Realmente gratuito</li>
<li>Sin limite de tiempo</li>
<li>Hosting incluido</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>Solo 1 app</li>
<li>Muy limitado</li>
<li>Requiere tarjeta</li>
</ul>
</div>
</div>
<a href="https://www.odoo.com/pricing" class="cta-btn" target="_blank" rel="noopener">Ver Detalles</a>
</div>
<!-- Oracle Cloud -->
<div class="provider-card">
<h4>Oracle Cloud Free Tier</h4>
<p class="price">GRATIS<span class="price-period"> Permanente*</span></p>
<ul>
<li>2 VMs ARM (Ampere) gratis</li>
<li>Hasta 24GB RAM total</li>
<li>200GB almacenamiento</li>
<li>Requiere configuracion manual</li>
<li>Conocimientos Linux necesarios</li>
<li>Puede cancelarse por inactividad</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>Recursos generosos</li>
<li>Permanente (si activo)</li>
<li>Control total</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>Configuracion compleja</li>
<li>Sin soporte Odoo</li>
<li>Riesgo de cancelacion</li>
</ul>
</div>
</div>
<a href="#" class="cta-btn">Ver Guia de Instalacion</a>
</div>
<!-- AWS Free Tier -->
<div class="provider-card">
<h4>AWS Free Tier</h4>
<p class="price">GRATIS<span class="price-period"> 12 meses</span></p>
<ul>
<li>t2.micro (1GB RAM)</li>
<li>750 horas/mes</li>
<li>30GB almacenamiento</li>
<li>Insuficiente para Odoo real</li>
<li>Solo para pruebas basicas</li>
<li>Despues cobra automaticamente</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>12 meses gratis</li>
<li>Ecosistema AWS</li>
<li>Documentacion amplia</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>Solo 1GB RAM</li>
<li>Temporal (12 meses)</li>
<li>Configuracion compleja</li>
</ul>
</div>
</div>
<a href="#" class="cta-btn">Ver Detalles</a>
</div>
<!-- Local Installation -->
<div class="provider-card">
<h4>Instalacion Local</h4>
<p class="price">GRATIS<span class="price-period"> Permanente</span></p>
<ul>
<li>Odoo Community (LGPL)</li>
<li>Tu propio ordenador/servidor</li>
<li>Control total del codigo</li>
<li>Sin costes de hosting</li>
<li>Requiere mantenimiento</li>
<li>No accesible desde internet</li>
</ul>
<div class="pros-cons">
<div class="pros">
<h4>Ventajas</h4>
<ul>
<li>100% gratuito</li>
<li>Sin limites</li>
<li>Desarrollo local</li>
</ul>
</div>
<div class="cons">
<h4>Limitaciones</h4>
<ul>
<li>No para produccion</li>
<li>Sin acceso remoto</li>
<li>Tu gestionas todo</li>
</ul>
</div>
</div>
<a href="#instalacion-local" class="cta-btn">Ver Guia</a>
</div>
</div>
</section>
<!-- D3.js Resources Comparison -->
<section class="chart-section fade-in">
<h3 id="grafico-recursos">Comparativa de Recursos Disponibles (RAM)</h3>
<p>Este grafico compara los recursos de RAM disponibles en cada opcion gratuita. Para Odoo en produccion se recomiendan minimo 4GB RAM.</p>
<div class="chart-container" id="resources-chart"></div>
</section>
<!-- Trial vs Free -->
<section id="trial-vs-free" class="content-section fade-in">
<h2>Trial Temporal vs Gratis Permanente: Cual Elegir</h2>
<p>Es importante entender la diferencia fundamental entre las opciones de trial (prueba temporal) y las opciones gratuitas permanentes:</p>
<h3>Trials Temporales (Odoo4projects, Odoo Online)</h3>
<p>Los trials te dan acceso completo a todas las funcionalidades por un tiempo limitado (14-15 dias). Son ideales para:</p>
<ul>
<li>Evaluar si Odoo es adecuado para tu empresa</li>
<li>Probar la interfaz y funcionalidades sin compromiso</li>
<li>Hacer una demostracion a tu equipo</li>
<li>Preparar una migracion desde otro sistema</li>
</ul>
<h3>Opciones Gratuitas Permanentes (Oracle, Local, Odoo Free)</h3>
<p>Las opciones permanentes tienen limitaciones significativas pero te permiten usar Odoo indefinidamente:</p>
<ul>
<li><strong>Odoo Free:</strong> Solo 1 aplicacion, sin modulos adicionales</li>
<li><strong>Oracle Cloud:</strong> Recursos generosos pero requiere conocimientos tecnicos avanzados</li>
<li><strong>Instalacion Local:</strong> No apto para produccion, solo desarrollo/pruebas</li>
</ul>
<div class="highlight-box">
<h4>Nuestra Recomendacion</h4>
<p>Para la mayoria de empresas, recomendamos comenzar con el <strong>trial de Odoo4projects</strong> (14 dias sin tarjeta). Esto te permite evaluar Odoo con soporte profesional y sin riesgos. Si decides continuar, los 29 euros/mes son una inversion minima comparada con el tiempo que ahorrarias intentando configurar un VPS gratuito.</p>
</div>
</section>
<!-- Local Installation Guide -->
<section id="instalacion-local" class="content-section fade-in">
<h2>Instalacion Local Gratuita: Guia Rapida</h2>
<p>Si tienes conocimientos tecnicos y solo necesitas Odoo para desarrollo o pruebas locales, puedes instalarlo gratis en tu ordenador:</p>
<h3>Requisitos Minimos</h3>
<table class="comparison-table">
<tr><th>Componente</th><th>Minimo</th><th>Recomendado</th></tr>
<tr><td>RAM</td><td>4 GB</td><td>8 GB</td></tr>
<tr><td>CPU</td><td>2 cores</td><td>4 cores</td></tr>
<tr><td>Disco</td><td>20 GB libres</td><td>50 GB SSD</td></tr>
<tr><td>Sistema</td><td>Ubuntu 22.04 / Windows 10</td><td>Ubuntu 24.04</td></tr>
</table>
<h3>Opciones de Instalacion</h3>
<ul>
<li><strong>Docker (Recomendado):</strong> La forma mas sencilla. Instala Docker Desktop y ejecuta la imagen oficial de Odoo.</li>
<li><strong>Instalador nativo:</strong> Descarga el paquete de Odoo.com para tu sistema operativo.</li>
<li><strong>Desde codigo fuente:</strong> Clona el repositorio de GitHub para desarrollo avanzado.</li>
</ul>
<div class="warning-box">
<h4>Advertencia Importante</h4>
<p>La instalacion local NO es recomendable para uso en produccion. Tu ordenador no tiene la disponibilidad, seguridad ni redundancia necesaria para un sistema ERP empresarial. Usalo solo para desarrollo, pruebas o demostraciones.</p>
</div>
</section>
<!-- Recommendations -->
<section id="recomendaciones" class="content-section fade-in">
<h2>Recomendaciones por Caso de Uso</h2>
<h3>Para Evaluar Odoo (Decision de Compra)</h3>
<p><strong>Mejor opcion:</strong> Trial de Odoo4projects (14 dias) o Odoo Online (15 dias)</p>
<p>Obtendras acceso completo a todas las funcionalidades con soporte incluido. Ideal para tomar una decision informada.</p>
<h3>Para Desarrollo y Aprendizaje</h3>
<p><strong>Mejor opcion:</strong> Instalacion local con Docker</p>
<p>Control total del entorno, sin costes, y puedes experimentar libremente sin riesgo de afectar datos reales.</p>
<h3>Para Startup con Presupuesto Cero</h3>
<p><strong>Mejor opcion:</strong> Oracle Cloud Free Tier (si tienes conocimientos tecnicos)</p>
<p>Recursos generosos y permanentes, aunque requiere configuracion manual completa.</p>
<h3>Para PYME que Quiere Empezar Ya</h3>
<p><strong>Mejor opcion:</strong> Odoo4projects desde 29 euros/mes</p>
<p>No es gratis, pero el ahorro de tiempo y la tranquilidad de tener soporte profesional vale mucho mas que los 29 euros mensuales.</p>
</section>
<!-- CTA Banner -->
<section class="cta-banner fade-in">
<h3>Prueba Odoo Gratis Durante 14 Dias</h3>
<p>Odoo4projects ofrece un trial completo sin tarjeta de credito. Hosting gestionado, soporte en espanol, y todas las funcionalidades de Odoo Community. Sin riesgo, sin compromiso.</p>
<a href="https://odoo4projects.com" class="cta-btn" target="_blank" rel="noopener sponsored">Comenzar Trial Gratuito</a>
</section>
<!-- FAQ Section -->
<section id="faq" class="faq-section fade-in">
<h2>Preguntas Frecuentes sobre Hosting Odoo Gratis</h2>
<div class="faq-item">
<div class="faq-question">Existe hosting Odoo completamente gratis?</div>
<div class="faq-answer">Si, existen varias opciones gratuitas: Odoo Online ofrece prueba de 15 dias, Oracle Cloud tiene VPS gratis permanente (siempre que cumplas requisitos), y puedes usar tu propio ordenador como servidor local. Sin embargo, para produccion recomendamos al menos un hosting de bajo coste.</div>
</div>
<div class="faq-item">
<div class="faq-question">Cuanto dura el trial gratuito de Odoo Online?</div>
<div class="faq-answer">El trial gratuito de Odoo Online dura 15 dias con todas las funcionalidades. Despues puedes continuar con el plan gratuito (1 app) o actualizar a un plan de pago desde 24.90 euros/usuario/mes.</div>
</div>
<div class="faq-item">
<div class="faq-question">Puedo usar Heroku gratis para Odoo en 2026?</div>
<div class="faq-answer">No, Heroku elimino su tier gratuito en 2022. Ahora su plan mas economico es Eco Dynos desde 5 dolares/mes. Existen alternativas como Railway o Render con tiers gratuitos limitados, pero con recursos insuficientes para Odoo en produccion.</div>
</div>
<div class="faq-item">
<div class="faq-question">Oracle Cloud Free Tier sirve para Odoo?</div>
<div class="faq-answer">Si, Oracle Cloud ofrece 2 VMs ARM con 24GB RAM totales gratis de por vida (Always Free). Es suficiente para Odoo Community con pocos usuarios, aunque requiere configuracion manual avanzada y conocimientos de Linux.</div>
</div>
<div class="faq-item">
<div class="faq-question">Cual es la mejor opcion gratuita para probar Odoo?</div>
<div class="faq-answer">Para probar Odoo sin complicaciones, recomendamos Odoo4projects con su trial de 14 dias sin tarjeta de credito. Ofrece hosting gestionado, soporte en espanol y todas las funcionalidades sin necesidad de configuracion tecnica.</div>
</div>
<div class="faq-item">
<div class="faq-question">Puedo instalar Odoo gratis en mi propio ordenador?</div>
<div class="faq-answer">Si, Odoo Community es software de codigo abierto (LGPL) y puedes instalarlo gratis en cualquier ordenador con Linux, Windows o Mac. La forma mas sencilla es usar Docker. Sin embargo, esto solo es recomendable para desarrollo o pruebas, no para produccion.</div>
</div>
<div class="faq-item">
<div class="faq-question">AWS o Google Cloud ofrecen hosting Odoo gratis?</div>
<div class="faq-answer">Ambos ofrecen tiers gratuitos limitados: AWS Free Tier (12 meses, t2.micro con 1GB RAM) y Google Cloud Free Tier (e2-micro permanente con 1GB RAM). Estos recursos son insuficientes para Odoo en produccion, solo sirven para pruebas muy basicas.</div>
</div>
</section>
<!-- Related Articles -->
<section id="relacionados" class="content-section fade-in">
<h2>Articulos Relacionados</h2>
<div class="related-articles">
<a href="/pt/odoo-hosting/mejor-hosting-odoo-2026/" class="related-card">
<div class="related-card-image">1</div>
<div class="related-card-content">
<h4>Mejor Hosting Odoo 2026: Comparativa Definitiva</h4>
<p>Analisis completo de 15+ proveedores de hosting</p>
</div>
</a>
<a href="/pt/odoo-hosting/vps-hosting-odoo-servidor-virtual-2025/" class="related-card">
<div class="related-card-image">VPS</div>
<div class="related-card-content">
<h4>VPS para Odoo: Guia de Configuracion</h4>
<p>Configura tu propio servidor virtual paso a paso</p>
</div>
</a>
<a href="/pt/odoo-hosting/odoo-sh-hosting-oficial-plataforma-2025/" class="related-card">
<div class="related-card-image">SH</div>
<div class="related-card-content">
<h4>Odoo.sh: Analisis Completo</h4>
<p>Todo sobre la plataforma oficial de Odoo</p>
</div>
</a>
<a href="/pt/odoo-hosting/precios-hosting-odoo-costos-2025/" class="related-card">
<div class="related-card-image">$</div>
<div class="related-card-content">
<h4>Precios de Hosting Odoo 2026</h4>
<p>Comparativa detallada de costos por proveedor</p>
</div>
</a>
<a href="/pt/odoo-hosting/requisitos-hosting-odoo-servidor-2025/" class="related-card">
<div class="related-card-image">REQ</div>
<div class="related-card-content">
<h4>Requisitos Tecnicos para Odoo</h4>
<p>Especificaciones de servidor recomendadas</p>
</div>
</a>
<a href="/pt/odoo-hosting/hosting-odoo-espana-proveedores-2025/" class="related-card">
<div class="related-card-image">ES</div>
<div class="related-card-content">
<h4>Hosting Odoo en Espana</h4>
<p>Proveedores locales con soporte en espanol</p>
</div>
</a>
</div>
</section>
</main>
<!-- EEAT Author Section -->
<div id="eeat-section"></div>
<div id="footer"><footer class="site-footer"><div class="container"><div class="footer-cols"><div><strong>Odoo Expertos</strong></div><nav class="footer-nav"><a href="/pt/">Inicio</a><a href="/pt/odoo/">Odoo</a><a href="/pt/odoo-ia/">Odoo IA</a><a href="/pt/odoo-hosting/">Hospedagem Odoo</a><a href="/pt/mapa-del-sitio/">Mapa do Site</a></nav></div><div class="footer-bottom"><small>&copy; 2026 Odoo Expertos</small></div></div></footer></div><nav class="footer-nav"><a href="/pt/">Inicio</a><a href="/pt/odoo/">Odoo</a><a href="/pt/odoo-ia/">Odoo IA</a><a href="/pt/odoo-hosting/">Hospedagem Odoo</a><a href="/pt/mapa-del-sitio/">Mapa do Site</a></nav></div><div class="footer-bottom"><small>&copy; 2026 Odoo Expertos</small></div></div></footer></div>
<!-- Scripts -->
<script src="/js/language-router.js"></script>
<script src="/components/header.min.js"></script>
<script src="/components/footer.min.js"></script>
<script src="/components/eeat.min.js"></script>
<script src="/js/cookie-banner.min.js"></script>
<!-- D3.js -->
<script src="https://d3js.org/d3.v7.min.js"></script>
<script>
// Initialize components
// Scroll animation observer
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));
// FAQ Toggle
document.querySelectorAll('.faq-question').forEach(question => {
question.addEventListener('click', () => {
const item = question.parentElement;
item.classList.toggle('open');
});
});
// Chart Data
const chartData = {
duration: [
{ name: 'Odoo4projects', days: 14, type: 'trial', color: '#4CAF50' },
{ name: 'Odoo Online', days: 15, type: 'trial', color: '#FF9800' },
{ name: 'Odoo Free', days: 365, type: 'permanent', color: '#2196F3' },
{ name: 'Oracle Cloud', days: 365, type: 'permanent', color: '#9C27B0' },
{ name: 'Google Cloud', days: 365, type: 'permanent', color: '#E91E63' },
{ name: 'AWS Free', days: 365, type: 'trial', color: '#FF5722' },
{ name: 'Railway', days: 30, type: 'limited', color: '#00BCD4' },
{ name: 'Local', days: 365, type: 'permanent', color: '#8BC34A' }
],
resources: [
{ name: 'Oracle Cloud', ram: 24, recommended: true },
{ name: 'Odoo4projects*', ram: 8, recommended: true },
{ name: 'Odoo Online*', ram: 8, recommended: true },
{ name: 'Google Cloud', ram: 1, recommended: false },
{ name: 'AWS Free', ram: 1, recommended: false },
{ name: 'Railway', ram: 0.5, recommended: false }
]
};
// Tooltip
const tooltip = d3.select('body').append('div')
.attr('class', 'd3-tooltip')
.style('opacity', 0);
// Duration Chart (Horizontal Bar)
function renderDurationChart() {
const container = d3.select('#duration-chart');
if (container.empty()) return;
const width = container.node().getBoundingClientRect().width;
const height = 400;
const margin = { top: 40, right: 40, bottom: 60, left: 140 };
container.html('');
const svg = container.append('svg')
.attr('width', width)
.attr('height', height);
const data = chartData.duration;
const yScale = d3.scaleBand()
.domain(data.map(d => d.name))
.range([margin.top, height - margin.bottom])
.padding(0.3);
const xScale = d3.scaleLinear()
.domain([0, 400])
.range([margin.left, width - margin.right]);
// Grid lines
svg.append('g')
.attr('class', 'grid')
.attr('transform', `translate(0,${margin.top})`)
.selectAll('line')
.data([30, 90, 180, 365])
.join('line')
.attr('x1', d => xScale(d))
.attr('x2', d => xScale(d))
.attr('y1', 0)
.attr('y2', height - margin.top - margin.bottom)
.attr('stroke', '#333')
.attr('stroke-dasharray', '4,4');
// Reference labels
svg.selectAll('.ref-label')
.data([{days: 30, label: '1 mes'}, {days: 365, label: '1 año'}])
.join('text')
.attr('x', d => xScale(d.days))
.attr('y', height - 25)
.attr('text-anchor', 'middle')
.attr('fill', '#666')
.attr('font-size', '11px')
.text(d => d.label);
// Y axis
svg.append('g')
.attr('transform', `translate(${margin.left - 10},0)`)
.call(d3.axisLeft(yScale))
.selectAll('text')
.attr('fill', '#b0b0b0')
.attr('font-size', '12px');
svg.selectAll('.domain').remove();
// Bars
svg.selectAll('.bar')
.data(data)
.join('rect')
.attr('class', 'bar')
.attr('x', margin.left)
.attr('y', d => yScale(d.name))
.attr('width', 0)
.attr('height', yScale.bandwidth())
.attr('fill', d => d.color)
.attr('rx', 4)
.style('cursor', 'pointer')
.on('mouseover', function(event, d) {
d3.select(this).attr('fill-opacity', 0.8);
const typeLabels = {
trial: 'Trial temporal',
permanent: 'Gratis permanente',
limited: 'Limitado'
};
tooltip.transition().duration(200).style('opacity', 1);
tooltip.html(`<strong>${d.name}</strong><br>Duracion: ${d.days >= 365 ? 'Permanente' : d.days + ' dias'}<br>Tipo: ${typeLabels[d.type]}`)
.style('left', (event.pageX + 15) + 'px')
.style('top', (event.pageY - 28) + 'px');
})
.on('mouseout', function() {
d3.select(this).attr('fill-opacity', 1);
tooltip.transition().duration(200).style('opacity', 0);
})
.transition()
.duration(800)
.delay((d, i) => i * 100)
.ease(d3.easeElastic.amplitude(1).period(0.6))
.attr('width', d => xScale(Math.min(d.days, 365)) - margin.left);
// Duration labels
svg.selectAll('.duration-label')
.data(data)
.join('text')
.attr('class', 'duration-label')
.attr('x', d => xScale(Math.min(d.days, 365)) + 10)
.attr('y', d => yScale(d.name) + yScale.bandwidth() / 2)
.attr('dominant-baseline', 'middle')
.attr('fill', '#e0e0e0')
.attr('font-size', '12px')
.attr('font-weight', '600')
.attr('opacity', 0)
.text(d => d.days >= 365 ? 'Permanente' : d.days + ' dias')
.transition()
.duration(400)
.delay((d, i) => i * 100 + 600)
.attr('opacity', 1);
// Legend
const legend = svg.append('g')
.attr('transform', `translate(${width - 200}, ${margin.top})`);
const legendData = [
{ label: 'Trial', color: '#FF9800' },
{ label: 'Permanente', color: '#2196F3' },
{ label: 'Limitado', color: '#00BCD4' }
];
legendData.forEach((item, i) => {
const g = legend.append('g')
.attr('transform', `translate(0, ${i * 22})`);
g.append('rect')
.attr('width', 14)
.attr('height', 14)
.attr('fill', item.color)
.attr('rx', 3);
g.append('text')
.attr('x', 20)
.attr('y', 11)
.attr('fill', '#b0b0b0')
.attr('font-size', '11px')
.text(item.label);
});
}
// Resources Chart (Bar Chart)
function renderResourcesChart() {
const container = d3.select('#resources-chart');
if (container.empty()) return;
const width = container.node().getBoundingClientRect().width;
const height = 400;
const margin = { top: 40, right: 40, bottom: 80, left: 60 };
container.html('');
const svg = container.append('svg')
.attr('width', width)
.attr('height', height);
const data = chartData.resources;
const xScale = d3.scaleBand()
.domain(data.map(d => d.name))
.range([margin.left, width - margin.right])
.padding(0.3);
const yScale = d3.scaleLinear()
.domain([0, 30])
.range([height - margin.bottom, margin.top]);
// Grid lines
svg.append('g')
.attr('class', 'grid')
.attr('transform', `translate(${margin.left},0)`)
.call(d3.axisLeft(yScale).tickSize(-(width - margin.left - margin.right)).tickFormat(''))
.selectAll('line').attr('stroke', '#333');
// Recommended line (4GB)
svg.append('line')
.attr('x1', margin.left)
.attr('x2', width - margin.right)
.attr('y1', yScale(4))
.attr('y2', yScale(4))
.attr('stroke', '#f44336')
.attr('stroke-width', 2)
.attr('stroke-dasharray', '8,4');
svg.append('text')
.attr('x', width - margin.right - 5)
.attr('y', yScale(4) - 8)
.attr('text-anchor', 'end')
.attr('fill', '#f44336')
.attr('font-size', '11px')
.text('Minimo recomendado (4GB)');
// Y axis
svg.append('g')
.attr('transform', `translate(${margin.left},0)`)
.call(d3.axisLeft(yScale).tickFormat(d => d + ' GB'))
.attr('color', '#888');
// X axis
svg.append('g')
.attr('transform', `translate(0,${height - margin.bottom})`)
.call(d3.axisBottom(xScale))
.selectAll('text')
.attr('fill', '#b0b0b0')
.attr('font-size', '11px')
.attr('transform', 'rotate(-25)')
.attr('text-anchor', 'end');
svg.selectAll('.domain').attr('stroke', '#444');
// Bars
svg.selectAll('.bar')
.data(data)
.join('rect')
.attr('class', 'bar')
.attr('x', d => xScale(d.name))
.attr('y', height - margin.bottom)
.attr('width', xScale.bandwidth())
.attr('height', 0)
.attr('fill', d => d.recommended ? '#4CAF50' : '#f44336')
.attr('rx', 4)
.style('cursor', 'pointer')
.on('mouseover', function(event, d) {
d3.select(this).attr('fill-opacity', 0.8);
tooltip.transition().duration(200).style('opacity', 1);
tooltip.html(`<strong>${d.name}</strong><br>RAM: ${d.ram} GB<br>${d.recommended ? 'Suficiente para Odoo' : 'Insuficiente para produccion'}`)
.style('left', (event.pageX + 15) + 'px')
.style('top', (event.pageY - 28) + 'px');
})
.on('mouseout', function() {
d3.select(this).attr('fill-opacity', 1);
tooltip.transition().duration(200).style('opacity', 0);
})
.transition()
.duration(800)
.delay((d, i) => i * 100)
.ease(d3.easeElastic.amplitude(1).period(0.5))
.attr('y', d => yScale(d.ram))
.attr('height', d => height - margin.bottom - yScale(d.ram));
// Value labels
svg.selectAll('.value-label')
.data(data)
.join('text')
.attr('class', 'value-label')
.attr('x', d => xScale(d.name) + xScale.bandwidth() / 2)
.attr('y', d => yScale(d.ram) - 8)
.attr('text-anchor', 'middle')
.attr('fill', '#e0e0e0')
.attr('font-size', '13px')
.attr('font-weight', '600')
.attr('opacity', 0)
.text(d => d.ram + ' GB')
.transition()
.duration(400)
.delay((d, i) => i * 100 + 600)
.attr('opacity', 1);
// Note
svg.append('text')
.attr('x', width / 2)
.attr('y', height - 10)
.attr('text-anchor', 'middle')
.attr('fill', '#666')
.attr('font-size', '11px')
.text('* RAM gestionada por el proveedor (no configurable)');
}
// Initialize charts when visible
const chartObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const id = entry.target.id;
setTimeout(() => {
if (id === 'duration-chart') renderDurationChart();
if (id === 'resources-chart') renderResourcesChart();
}, 100);
chartObserver.unobserve(entry.target);
}
});
}, { threshold: 0.15 });
document.querySelectorAll('.chart-container').forEach(el => chartObserver.observe(el));
// Resize handler
let resizeTimeout;
window.addEventListener('resize', () => {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(() => {
renderDurationChart();
renderResourcesChart();
}, 300);
});
</script>
</body>
</html>