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.
Summary
- Category
- Jet Templates
- Tags
- CRMERPProductivity
- Authors
- Cetmix OÜ
- License
- AGPL-3
- Version
- 1.0.0
- Call sign
- jet_template_odoo_docker_v2
- Website
- cetmix.com/contact
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
- Import the YAML and install the Odoo template on the server. Set
postgres_passwordin Tower Keys and Secrets and configure the shared PostgreSQL login. When enabling S3 backups for PostgreSQL, set the repository parameters andaws_key_idandaws_access_key. - For HTTPS, configure
web_domain, the Jet URL, DNS and Traefik'sinstance_certbot_email. The Odoo template defaults to Cloudflare DNS automation and usescloudflare_tokenandcloudflare_zone_id. For a Traefik DNS challenge, set the selected provider's credentials (cloudflare_token,digitalocean_api_token,hetzner_api_token, oraws_dns_key_idandaws_dns_access_key). - 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, orgitlab_tokenandgitlab_token_name). Keepodoo_container_nametied to the Jet reference so lifecycle actions and logs target the same container. - 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_filestoretoyesto omit the filestore copy, orclone_db_name_from_jet_referencetoyesto 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.
This package is distributed under the GNU Affero General Public License v3.0 (AGPL-3) or later.
These Terms and Conditions (“Terms”) govern your access to and use of YAML configuration files (“Packages”, “YAML Snippets”, or “Snippets”) made available via the Cetmix Tower platform, operated by Cetmix OÜ, Ranna 6, Haademeeste, Voiste, 86501, Estonia (“Cetmix”, “we”, “our”, or “us”).
By downloading, installing, or otherwise using any YAML Snippets from the Cetmix Tower platform, you agree to be bound by these Terms.
1. Use of Packages
1.1. The YAML Snippets are provided either by Cetmix or third-party authors (“Authors”).
1.2. You are solely responsible for verifying the functionality, safety, and suitability of any YAML Snippet before using it in a production environment.
1.3. You may use the Snippets only in accordance with their respective licenses, which may be open-source or commercial.
2. Author Responsibility
2.1. Authors are solely responsible for the content, accuracy, functionality, and compliance of the YAML Snippets they publish.
2.2. Cetmix does not review or verify the correctness, security, or compliance of third-party Snippets.
2.3. If you are an Author, you represent and warrant that your submitted YAML Snippet:
- Does not infringe on any third-party rights;
- Complies with applicable laws and regulations;
- Does not contain harmful, malicious, or misleading code or behavior.
3. Limitation of Liability
3.1. Cetmix provides access to the YAML Snippets “as is” and “as available,” without warranties of any kind, either express or implied.
3.2. Cetmix expressly disclaims all liability for any damages resulting from:
- Use or inability to use a YAML Snippet;
- Errors or omissions in the Snippets;
- Actions taken in reliance on any YAML Snippet;
- Misuse, misconfiguration, or system failure caused by a Snippet.
3.3. In no event shall Cetmix OÜ be liable for any indirect, incidental, special, punitive, or consequential damages, including but not limited to loss of data, profits, or service availability.
4. Security and Compliance
4.1. Cetmix does not guarantee that any Snippet is secure or free from vulnerabilities. You must review and test all Snippets before deploying them in sensitive or production environments.
4.2. Compliance with security, privacy, and regulatory requirements is your responsibility when using any Snippet.
5. Intellectual Property
5.1. Ownership of each YAML Snippet remains with its respective Author.
5.2. You must respect all license terms specified for each Snippet. Unauthorized reproduction, distribution, or sublicensing may result in legal consequences.
6. Modifications and Termination
6.1. Cetmix may modify or remove any YAML Snippet at any time without notice.
6.2. These Terms may also be updated periodically. Continued use of the platform constitutes acceptance of the revised Terms.
7. Governing Law and Jurisdiction
These Terms shall be governed by the laws of the Republic of Estonia. Any disputes arising under or in connection with these Terms shall be subject to the exclusive jurisdiction of the courts of Estonia.
8. Contact
For questions or concerns regarding these Terms or specific YAML Snippets, please contact us