{
 "slug": "odoo",
 "name": "Odoo",
 "tagline": "ERP and CRM business suite with accounting, inventory, sales and manufacturing apps",
 "category": "business-apps",
 "use_cases": [
  "erp",
  "crm",
  "accounting"
 ],
 "aliases": [],
 "status": "live",
 "upstream": {
  "vendor": "Odoo S.A.",
  "url": "https://www.odoo.com",
  "license": "LGPL-3.0",
  "license_url": "https://github.com/odoo/odoo/blob/18.0/LICENSE"
 },
 "image": {
  "os": "Ubuntu 24.04 LTS",
  "cis_level": 1,
  "ports": [
   443
  ],
  "artifacts": [
   "/etc/lynxroute/sbom.json",
   "/etc/lynxroute/cis-report.html",
   "/usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md"
  ]
 },
 "clouds": {
  "aws": {
   "status": "live",
   "version": "18.0",
   "last_build": "2026-09-04",
   "entity_id": "prod-zrvhnzoihrysu",
   "ami_alias": "/aws/service/marketplace/prod-zrvhnzoihrysu/latest",
   "listing_url": "https://aws.amazon.com/marketplace/pp/prodview-2w673reg6p2wk",
   "recommended_instance_type": "t3.large",
   "price_usd_per_hour": 0.05,
   "free_trial_days": 5,
   "unit": "instance-hour"
  },
  "azure": {
   "status": "live",
   "version": "18.0",
   "last_build": "2026-06-29",
   "offer_id": "odoo",
   "plan_id": "payg-gen2",
   "image_urn": "lynxroute:odoo:payg-gen2:latest",
   "listing_url": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/lynxroute.odoo?tab=Overview",
   "recommended_vm_size": "Standard_D2s_v3",
   "price_usd_per_vcpu_hour": 0.028,
   "unit": "vcpu-hour"
  },
  "alicloud": {
   "status": "not_offered"
  }
 },
 "urls": {
  "page": "https://lynxroute.com/products/odoo/",
  "json": "https://lynxroute.com/products/odoo/product.json"
 },
 "release_notes": [
  {
   "version": "18.0",
   "title": "Odoo v-18.0",
   "notes": "* Re-release of Odoo 18.0. The application version is unchanged; this build refreshes the underlying operating system image\n* Rebuilt on the latest CIS Level 1 hardened Ubuntu 24.04 LTS base, picking up every operating-system security update published since the previous build\n",
   "source": "backfill-aws-listing",
   "live": {
    "aws": "2026-09-04",
    "azure": "2026-06-29"
   }
  },
  {
   "version": "18.0",
   "title": "Odoo 18.0 - Initial release (June 2026)",
   "notes": "* Odoo 18.0 Community Edition on Ubuntu 24.04 LTS\n* CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)\n* CVE-scanned before every release\n* Master password and admin password generated at first boot; initial database created\n* PostgreSQL 16 backing store; database manager disabled (list_db off)\n* Odoo bound to 127.0.0.1:8069/8072 (loopback); host nginx terminates TLS on port 443\n* One-command HTTPS via Certbot (certbot --nginx)\n* UFW firewall pre-configured (ports 22, 443 only)\n* fail2ban, auditd, AppArmor pre-configured\n* SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json\n* CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html\n* IMDSv2 enforced\n",
   "source": "backfill-aws-listing",
   "live": {
    "aws": "2026-09-04",
    "azure": "2026-06-29"
   }
  }
 ],
 "release_history": [
  {
   "version": "18.0",
   "aws": "2026-09-04",
   "azure": "2026-06-29"
  }
 ],
 "deploy": {
  "aws_cli": "# subscribe once on the AWS Marketplace listing, then:\naws ec2 run-instances \\\n  --image-id resolve:ssm:/aws/service/marketplace/prod-zrvhnzoihrysu/latest \\\n  --instance-type t3.large --key-name my-key --security-group-ids sg-xxxxxxxx",
  "azure_cli": "# accept the plan terms once, then:\naz vm image terms accept --publisher lynxroute --offer odoo --plan payg-gen2\naz vm create -g my-rg -n odoo --size Standard_D2s_v3 \\\n  --image lynxroute:odoo:payg-gen2:latest --admin-username azureuser --generate-ssh-keys"
 },
 "description": {
  "what_is": "Odoo Community Edition is an open-source, all-in-one ERP and CRM business suite. It runs as a Python application backed by a PostgreSQL database and is organised into integrated apps you install on demand: CRM, Sales, Invoicing, Inventory, Purchase, Accounting, Project, Manufacturing, Website and many more, all sharing one data model so a lead can flow through to a quotation, a delivery and an invoice without re-keying. Reports render to PDF via wkhtmltopdf. The web client and websocket bus bind to loopback and are fronted by nginx for TLS. The database and the file attachment store persist on the instance disk. LGPL-3.0 license, no vendor lock-in. Self-hosted on your own EC2 instance, your business data never leaves your AWS account.",
  "image_adds": "Security hardening:\n* A master (database-management) password and an application admin password generated at first boot (written to /root/odoo-credentials.txt)\n* An initial database created at first boot - log in and start, no web installer step exposed to the internet\n* The database manager disabled (list_db off) so the database list and management screens are not reachable\n* Odoo bound to 127.0.0.1 (web and websocket); PostgreSQL bound to 127.0.0.1 only; host nginx terminates TLS on port 443\n* One-command HTTPS: certbot --nginx (Certbot and the nginx plugin are pre-installed)\n* The PostgreSQL role uses a unique password generated at first boot\n* UFW firewall pre-configured (ports 22 and 443 only)\n* fail2ban, auditd, AppArmor pre-configured\n* CVE scan - every image is scanned for vulnerabilities before release\n\nOS hardening (CIS Level 1):\n* CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown\n* auditd, SSH hardening, Kernel hardening, IMDSv2 enforced\n\nCompliance artifacts:\n* SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json\n* CIS Conformance Report at /etc/lynxroute/cis-report.html\n* CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md"
 },
 "generated_at": "2026-10-31T09:36:34Z"
}
