How to set up?
Depending on your needs, of the following installation options can be suitable:
Setting up for evaluation/demo purposes
The following Docker Compose-based setup is intended for demo and evaluation purposes only and is not recommended for production use due to security and performance concerns. For the sake of installation simplicity, this setup contains a hard-coded JWT secret key, which is not secure. For enterprise grade setup, consider Kubernetes-based deployment of the provided containers (see Helm Chart), production compose setup, or other option available in your organization. |
For RHEL with SELinux enabled runtime only
Allow the 389 (ldap) and 80 (frontend http) ports for usage in SELinux subsystem
sudo semanage port -a -t http_port_t -p tcp 80
sudo echo "net.ipv4.ip_unprivileged_port_start=80" >> /etc/sysctl.conf
sudo sysctl -p
In order to run the Governor locally, you need to
-
Install Docker.
-
Download and unzip governor-compose.zip. This file contains Docker Compose script as well as dumps of demo databases.
-
Run the following commands in the unzipped directory:
docker compose pull docker compose up
The UI will be available at http://localhost:80. Use the predefined username and password to log in for the first time: test@synthesized.io
/ Qq12345_
.
Please note that connection details for demo source and target databases provided in the user interface (host transformed_db , port 5432) are valid for internal Docker Compose network. In order to access these databases from the host machine, you should use localhost as a hostname and port 5433.
|
(Optional) Setting up a volume for Governor Postgres DB
Governor uses a PostgreSQL database to store its configuration and state. By default, the data is stored inside the Docker container, which means it will be lost if the container is removed. To enable data persistence, you can mount a folder from your local filesystem as a volume:
-
uncomment the line:
<Governor DB host directory path>:/var/lib/postgresql/data"
-
Replace
<Governor DB host directory path>
with an absolute path on your machine where you’d like to store the database files.
This ensures that database data will be persisted between restarts of the container or Docker daemon. Optionally, you can do the same for transformed database by replacing <transformed DB host directory path>
.
(Optional) Setting up a volume for RocksDB
Synthesized TDK embedded into Governor relies on RocksDB embedded key-value store to speed up its performance. However, having RocksDB folder inside the container can lead to problems both with performance and space restrictions. In order to set up a volume on your local filesystem:
-
uncomment
volumes
section indocker-compose.yml
-
uncomment
- <RocksDB host directory path>:/app/rocksdb
line and substitute your path to RocksDB folder. -
make sure this folder is accessible for Docker using
chmod 777<RocksDB host directory path>
command.
(Optional) Setting up a volume for log files
If you are willing to store Governor log files locally instead having them in the container, do the following:
-
uncomment
volumes
section indocker-compose.yml
-
uncomment
- <logs host directory path>:/app/logs
line and substitute your path to logs folder. -
make sure this folder is accessible for Docker using
chmod 777 <logs host directory path>
command.
You must use separate folders on the host machine for each of the following paths: <Governor DB host directory path>, <transformed DB host directory path>, <RocksDB host directory path>, <logs host directory path>. |