{"id":21044925,"url":"https://github.com/opusvl/docker-custom-odoo-14","last_synced_at":"2026-03-15T18:52:27.147Z","repository":{"id":48660046,"uuid":"385867260","full_name":"OpusVL/docker-custom-odoo-14","owner":"OpusVL","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-30T10:22:25.000Z","size":780,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-20T17:35:02.127Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpusVL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-14T08:25:22.000Z","updated_at":"2022-08-30T10:22:28.000Z","dependencies_parsed_at":"2023-01-16T21:00:58.851Z","dependency_job_id":null,"html_url":"https://github.com/OpusVL/docker-custom-odoo-14","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusVL%2Fdocker-custom-odoo-14","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusVL%2Fdocker-custom-odoo-14/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusVL%2Fdocker-custom-odoo-14/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusVL%2Fdocker-custom-odoo-14/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpusVL","download_url":"https://codeload.github.com/OpusVL/docker-custom-odoo-14/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243489835,"owners_count":20299001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T14:19:10.461Z","updated_at":"2025-12-26T18:57:36.530Z","avatar_url":"https://github.com/OpusVL.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-odoo-custom\nAn Odoo docker image with extended capabilities and fixes over the official one.\n\nSome of these are development aids, while some make a difference to how images\nare built for production.\n\n[![Docker Repository on Quay](https://quay.io/repository/opusvl/custom-odoo-14/status \"Docker Repository on Quay\")](https://quay.io/repository/opusvl/custom-odoo-14)\n\n# Releasing this layer\n\n```!sh\ngit fetch\ngit status\n```\n\nMake sure that the repo is completely clean (all changes committed,\nstashed or moved out of the way).\n\n```!sh\ngit tag\n```\n\nWork out from the output of `git tag` what the next tag is going to be,\nand set it in REPO_VERSION in the below:\n\n```!sh\nexport REPO_VERSION=vN\n./build-and-push-all.sh\ngit tag \"$REPO_VERSION\"\ngit push origin \"$REPO_VERSION\"\n```\n\nFuture improvement: write another outer script that will clone a specific\ntag in a tempdir, and release what was pushed to git rather than what\nhappens to be in your working copy - or make CI do it on new tag/PR/whatever.\n\n# Locales\n\nLocales are generated for en_GB, and are set as default in the environment.\n\n# Extra fonts\n\n* fonts-dejavu\n* fonts-dejavu-extra\n* Reportlab barcode font\n\n# Addons Bundles\n\nAn `--addons-path` argument is automatically built on each startup to contain any subdirectories within `/mnt/extra-addons-bundles` that contain at least one valid Odoo addon.  This could be a checkout of a repository from https://github.com/OCA for example.\n\nSo you can check out a set of modules directly into there (in a volume or copied in via a Dockerfile extending this one) and have Odoo pick them up, instead of having to flatten the tree yourself or manually build an addons_path in the config file.\n\n## How to base your own image off this\n\nCreate a git repo with the following structure:\n\n* a directory `addons-bundles` containing the repositories we are using modules from as git submodules (though sometimes customer-specific modules live in a plain subdirectory of this directory).  Can be empty but must be there.  Use a .gitkeep file if necessary.\n* a `requirements.txt` listing extra modules to install via pip.  Can be empty but must be there.\n* a `Dockerfile`\n\nThe Dockerfile might have something like this in it:\n\n```\nFROM quay.io/opusvl/custom-odoo-14:v1-release-20210713\n```\n\nSupported Odoo nightlies are listed in odoo-revisions.tsv\n\n# Run Odoo from a git checkout\n\nSetting the `DEV_ODOO` environment variable to a path, e.g. `/opt/odoo`, where you have\nmounted a git clone of an Odoo source tree, will cause that path to be prepended to the\nPATH and the default addons path to point to it.\n\n# Old DB config environment variables still work\n\nEXPERIMENTAL\n\nThe `DB*` environment variables we have in our existing docker-compose setups are, if set, copied to the new equivalents as of about 6 months ago.\n\nThis is for backwards compatibility with existing environments that are configured using the `DB*` variables.  If they are set, then they will override the official ones - depending on internal feedback or feedback from you, the community, we may change the priorities so consider this particular bit experimental.\n\n\n# How it works\n\nThere is a new entrypoint `opusvl-entrypoint.py` which augments environment variables and the command line with its own stuff depending on environment variables you set and what it finds in `/mnt/extra-addons-bundles`, then despatches to the upstream `entrypoint.sh`, re-using the logic contained therein.\n\n\n# Copyright and License\n\nCopyright (C) 2021  Opus Vision Limited\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\nIf you require assistance, support, or further development of this\nsoftware, please contact OpusVL using the details below:\n\n* Telephone: +44 (0)1788 298 410\n* Email: community@opusvl.com\n* Web: http://opusvl.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopusvl%2Fdocker-custom-odoo-14","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopusvl%2Fdocker-custom-odoo-14","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopusvl%2Fdocker-custom-odoo-14/lists"}