TOWERBY CETMIX
← Hangar / jet_template_odoo_docker_v2

Odoo Docker 2.0 with Shared PostgreSQL and Traefik

Deploy a configurable Odoo instance with a persistent filestore, shared PostgreSQL, HTTPS routing, build waypoints and same-server cloning.

↓ Download↓ 3 downloads

Summary

Category
Jet Templates
Tags
CRMERPProductivity
Authors
Cetmix OÜ
License
AGPL-3
Version
1.0.0
Call sign
jet_template_odoo_docker_v2

This snippet imports the Odoo Docker 2.0 Jet Template. It defaults to Odoo 18.0 Community Edition and exposes odoo_version and odoo_edition for selecting the release and edition. Each Jet builds or reuses its own application image and stores the Odoo filestore in a named Docker volume. Odoo uses a shared PostgreSQL Jet on the same server and Traefik for web and gevent traffic. The YAML includes PostgreSQL 17 with optional pgBackRest backups, Traefik 3, Docker, Fail2ban and Tower Core.

Configure and launch

  1. Import the YAML and install the Odoo template on the server. Set postgres_password in Tower Keys and Secrets and configure the shared PostgreSQL login. When enabling S3 backups for PostgreSQL, set the repository parameters and aws_key_id and aws_access_key.
  2. For HTTPS, configure web_domain, the Jet URL, DNS and Traefik's instance_certbot_email. The Odoo template defaults to Cloudflare DNS automation and uses cloudflare_token and cloudflare_zone_id. For a Traefik DNS challenge, set the selected provider's credentials (cloudflare_token, digitalocean_api_token, hetzner_api_token, or aws_dns_key_id and aws_dns_access_key).
  3. Select the Odoo version and edition, and configure any extra addon repositories, pip-installed addons and Python packages. Populate the relevant private repository credentials as needed (github_token, bitbucket_token, or gitlab_token and gitlab_token_name). Keep odoo_container_name tied to the Jet reference so lifecycle actions and logs target the same container.
  4. Create a Jet targeting Running. Prepare pins the selected version and edition and sets up storage and deployment settings. Build prepares the image and creates the container. Start brings the instance online.

Maintain and clone

  • Restart fast restarts the existing container. Restart with new settings recreates it. Request new build runs the image build workflow, and Update modules runs module updates against the configured database.
  • Build waypoints track Odoo images. Arriving at a waypoint recreates the container from that image and restarts it if it was running.
  • Same-server cloning copies the database and, by default, the filestore. The clone plan also has a branch for an OpenUpgrade target. Set skip_clone_filestore to yes to omit the filestore copy, or clone_db_name_from_jet_reference to yes to use the clone's Jet reference as its database name.
  • Remove takes the application container out of service. Destroy removes the Jet resources and drops its configured Odoo database, when set, from shared PostgreSQL.

Check Odoo logs and the Flight Plan log for build, startup or module update errors. For HTTPS issues, verify the Jet hostname, DNS and Traefik routing.