In all documents relating to the development environment, it is assumed that all Git repositories are cloned to this common folder
NOTE!
All examples of commands and configuration files are given for Linux (Ubuntu distribution). For any other operating system, the examples given should be modified accordingly.
It is assumed that all Git repositories are cloned to this common<WORKSPACE>
folder,
e.g. /home/developer1/workspace.
Java is required to compile the code. For an example of how to install: 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 initiating new services using 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/
Perform the installation according to: https://docs.docker.com/engine/install/ubuntu/
Post-installation steps: https://docs.docker.com/engine/install/linux-postinstall/
Once properly installed, you can check if everything works by running the hello-world test image one by one, then 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 the 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/ # check what version of Docker Compose docker compose version Docker Compose version v2.26.1
In this document, the name working folder means a subfolder of the user's home folder. All required repositories of the Signomix platform will be cloned into the working folder. In all sample commands included in this document, the <WORKSPACE>
designation should be replaced with the name of your choice.
# create a sample workspace folder in the user's home folder 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 not done before, clone all required repositories to the <WORKSPACE>
working folder .
This is facilitated by the init-dev-environment.sh script in the signomix repository. This script clones the required repositories and creates the folders that must be mounted as volumens for the 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 logins, passwords or API tokens. Signomix uses two Docker Compose mechanisms to solve this problem:
s 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 settings 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
In case there are no local code changes, you can download the latest code versions from the repositories before calling the above command. This is facilitated by the pull-repositories.sh script
./pull-repositories.sh
cd ~/<WORKSPACE>/signomix ./runInDevEnvironment.sh up -d
The running platform is available at:
Predefined accounts:
Account | Login | Password |
---|---|---|
Administrator | admin | test123 |
User | tester1 | test123 |
cd ~/<WORKSPACE>/signomix ./runInDevEnvironment.sh down