PBMS Docker
Information regarding the PBMS Odoo, portal API, and background-task Docker images and how they are built.
Concepts
All PBMS Docker images are built from the local source in the consolidated OpenG2P/pbms repository (build context = the repository root; the Dockerfiles COPY the in-repo code). There are no package files — the components are no longer pulled from separate repositories at build time.
The following five images are produced (image names are stable; the tag is the branch name — a push to develop publishes :develop):
openg2p/openg2p-pbms-core
Odoo — odoo/ (core modules, odoo/extensions/, odoo/community-addons/)
openg2p/openg2p-pbms-staff-portal-api
apis/openg2p-pbms-staff-portal-api (+ core/ models, extensions/)
openg2p/openg2p-pbms-bene-portal-api
apis/openg2p-pbms-bene-portal-api (+ core/ models, extensions/)
openg2p/openg2p-pbms-bg-task-celery-workers
core/openg2p-bg-task-celery-workers (+ models, extensions/)
openg2p/openg2p-pbms-bg-task-celery-beat-producers
core/openg2p-bg-task-celery-beat-producers (+ models)
The Dockerfiles live under docker/ in the repository.
External dependencies (build args)
PBMS's own code is built from the repo; a few shared OpenG2P libraries and base images are pulled at build time and are overridable via build args / workflow inputs:
FASTAPI_COMMON_REF(defaultdevelop) — openg2p-fastapi-common, for the API and Celery images.G2P_BRIDGE_REF— g2p-bridge models, for the Celery worker image.ODOO_COMMONS_REF(defaultv1.4.0) — openg2p-odoo-commons, cloned into the Odoo (core) image at build time.BASE_VERSION— the upstreamodoo:base image tag for the Odoo image.
Building the images
Images are built by GitHub Actions workflows in the repository. They run automatically on a push that touches the relevant code paths, and can also be triggered manually via workflow_dispatch (where the build-arg refs above are exposed as inputs). The image tag is derived from the branch name (develop → :develop).
openg2p-pbms-core (Odoo)
staff-portal-api, bene-portal-api
bg-task-celery-workers, bg-task-celery-beat-producers
To build locally, run docker build from the repository root, pointing at the relevant Dockerfile — for example:
Last updated
Was this helpful?