Question: How to configure the development environment

  • Hello,

    been new with docker, i'm looking for a decription how to organize the development prozess, make debugging and run the regression tests.

    Can you describe how your development is organized and propose the known good practice.

    Best regards

  • Hi and welcome to the forum! I'm assuming you are already familiar with right? If not, there you can find described in detailed most of the internals. Despite eGeoffrey is based on docker containers, there is no need to do anything with docker since the egeoffrey-cli has plenty of helpers to initialize repos, committing new version and finally building the docker image (egeoffrey-cli -h for details, ensure you have the latest version) without other additional actions.

    As for the development process, if willing to build a brand new module (e.g. a service called XXX) the process is more or less the following:

    • egeoffrey-cli init_repo service XXX <your_github_user> to create a new local repo and configure remote URL automatically
    • Do you changes to the service/ file
    • Test your module by running it manually outside docker with python -m sdk.python.module.start (you need to define at least the variables EGEOFFREY_GATEWAY_HOSTNAME and EGEOFFREY_MODULES to make it connecting to an already running gateway
    • egeoffrey-cli commit "First version" to commit the changes and push it to your github repository
    • egeoffrey-cli build amd64,arm to build the docker images and push them to you dockerhub account
    • Add your module to with a PR so to show up in the marketplace

    Of course I highly recommend to review existing packages and their code before starting developing something. Out of curiosity, what are you looking forward to building?


  • Hi, I've taken this good question as an excuse to revisit the developer website (, re-organize the contents as well as provide additional details on the development and building process and workflows.

Log in to reply