Skip to content

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:

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:

git clone https://github.com/DSD-DBS/capella-dockerimages.git

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:

make <image-name>

to build the image and it's dependencies or

make run-<image-name>

to build the images, all dependencies and run the image.

In case you executed the preparation sections for all images, you can run:

make all

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.