Welcome
Welcome to the MBSE Docker images repository. Initially started for our Capella Collaboration Manager to run Capella in a browser, we now offer a variety of Docker images to automate processes in the MBSE context.
Use prebuilt images from Github packages
For license reasons, we are only able to provide the following prebuilt public images at this time:
base
capella/base
(without dropins or plugins)
If you need another image, please follow the
Build images locally
or
Build images in a CI/CD environment
instructions.
Build images locally
To get started, please clone this repository and include all submodules:
Build images with GNU Make
If you have GNU Make installed on your system, you can make use of our Makefile to build, run and debug our Docker images.
Warning
The minimum required GNU Make version is 3.82
, however we recommend version 4.X
. Use version 4.4
for the best experience. The preinstalled Make version on macOS is 3.81
and is not supported by us. Please update the version to >= 3.82
.
Info
When running the build targets with PUSH_IMAGES=1
, they get pushed to your preferred registry after each build.
For each image, please execute the steps described in the preparation section in the documentation for each image.
Then, just run the following command:
to build the image and it's dependencies or
to build the images, all dependencies and run the image.
In case you executed the preparation sections for all images, you can run:
Build images manually with Docker
It's important to strictly follow the sequence. Several Docker images depend on each other. The full dependency graph for the images looks like:
flowchart LR
BASE(base) --> CAPELLA_BASE(capella/base)
BASE(base) --> JUPYTER(jupyter-notebook)
BASE(base) --> PAPYRUS_BASE(papyrus/base) --> PAPYRUS_REMOTE(papyrus/remote)
BASE(base) --> ECLIPSE_BASE(eclipse/base) --> ECLIPSE_REMOTE(eclipse/remote) --> ECLIPSE_REMOTE_PURE_VARIANTS(eclipse/remote/pure-variants)
CAPELLA_BASE(capella/base) --> T4C_CLIENT_BASE(t4c/client/base)
CAPELLA_BASE(capella/base) --> CAPELLA_REMOTE(capella/remote) --> CAPELLA_REMOTE_PURE_VARIANTS(capella/remote/pure-variants)
T4C_CLIENT_BASE(t4c/client/base) --> T4C_CLIENT_REMOTE(t4c/client/remote) --> T4C_CLIENT_REMOTE_PURE_VARIANTS(t4c/client/remote/pure-variants)
style BASE fill:#b22222,color:#000000
style CAPELLA_BASE fill:#8feb34,color:#000000
style JUPYTER fill:#f5626c,color:#000000
style PAPYRUS_BASE fill:#5f9ea0,color:#000000
style ECLIPSE_BASE fill:#fafad2,color:#000000
style T4C_CLIENT_BASE fill:#1e90ff,color:#000000
style CAPELLA_REMOTE fill:#228b22,color:#000000
style T4C_CLIENT_REMOTE fill:#228b22,color:#000000
style ECLIPSE_REMOTE fill:#228b22,color:#000000
style PAPYRUS_REMOTE fill:#228b22,color:#000000
style CAPELLA_REMOTE_PURE_VARIANTS fill:#62f5f2,color:#000000
style T4C_CLIENT_REMOTE_PURE_VARIANTS fill:#62f5f2,color:#000000
style ECLIPSE_REMOTE_PURE_VARIANTS fill:#62f5f2,color:#000000
Each highlighted color indicates the Dockerfile which is used to build the image:
Base
Capella Base
Eclipse Base
Papyrus Base
T4C Client Base
Remote
pure::variants
Jupyter notebook
Make sure that all docker
commands are executed in the root directory of
the repository.
For each image, you'll find documentation how to build & run the image manually.
Build images in a CI/CD environment
We provide a Gitlab CI/CD template to build and test the images in CI/CD environment. Please find the instructions here.