All documentation related to the development environment assumes that all Git repositories are cloned into this shared folder
NOTE!
All examples of commands and configuration files are provided for Linux (Ubuntu distribution). If you are using a different operating system, you must modify the examples accordingly.
It is assumed that all Git repositories are cloned into this shared folder<WORKSPACE>, e.g., /home/developer1/workspace.
Java is required to compile the code. Example installation instructions: https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-java-jdk-17-on-ubuntu-22-04.html?utm_content=cmp-true
sudo apt update
sudo apt install -y openjdk-17-jdk
java -version
Homepage: https://openjdk.org/
sudo apt install git
git –version
Homepage: https://git-scm.com/
sudo apt install maven
mvn --version
Homepage: https://maven.apache.org/
Optional—useful for initializing new services that use the Quarkus framework
curl -Ls https://sh.jbang.dev | bash -s - trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/
curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio
Homepage: https://quarkus.io/get-started/
Follow the installation instructions at: https://docs.docker.com/engine/install/ubuntu/
Post-installation steps: https://docs.docker.com/engine/install/linux-postinstall/
Once successfully installed, you can verify that everything is working by running the hello-world test image first, followed by Docker Compose:
# Run hello-world
docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image, which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
# Checking which version of Docker Compose you’re using
docker compose version
Docker Compose version v2.26.1
In this document, the term “working directory” refers to a subfolder of the user’s home directory. All required Signomix platform repositories will be cloned into the workspace. In all example commands included in this document, replace <WORKSPACE> with the name of your choice.
# Create an example workspace in the user’s home directory
mkdir ~/workspace
Modify the contents of the /etc/hosts file by adding the following lines:
# file /etc/hosts
127.0.0.1 localhost
127.0.0.1 app.localhost
127.0.0.1 www.localhost
127.0.0.1 view.localhost
127.0.0.1 cloud.localhost
127.0.0.1 documentation.localhost
127.0.0.1 telemetry.localhost
127.0.0.1 q1.localhost
If you haven’t done so already, clone all required repositories into the <WORKSPACE> working directory. The init-dev-environment.sh script in the signomix repository makes this easier. This script clones the required repositories and creates the folders that must be mounted as volumes for Docker containers.
cd ~/<WORKSPACE>
git clone https://github.com/signomix/signomix
cd signomix
sh init-dev-environment.sh
Some configuration parameters should not be stored in publicly accessible repositories. This applies, for example, to usernames, passwords, or API tokens. Signomix uses two Docker Compose mechanisms to address this issue:
env_file ` attribute - https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/#use-the-env_file-attributeThe init-dev-environment.sh script copies a set of configuration files to the .secrets directory in the user’s home directory (see: init-runtime-environment.sh).
Before running Signomix, review the contents of the files in the ~/.secrets directory and replace the settings with your own.
cd ~/<WORKSPACE>/signomix
./build-images.sh
If there are no local changes to the code, you can download the latest versions of the code from the repositories before running the command above. The pull-repositories.sh script makes this easier
./pull-repositories.sh
cd ~/<WORKSPACE>/signomix
./runInDevEnvironment.sh up -d
The running platform is available at the following addresses:
Predefined accounts:
| Account | Username | Password |
|---|---|---|
| Administrator | admin | test123 |
| User | tester1 | test123 |
cd ~/<WORKSPACE>/signomix
./runInDevEnvironment.sh down