This script simplifies the deployment and configuration of multiple services using Podman containers. It provides flexibility through command-line arguments to control which services are installed, where data is stored, and how the containers are configured. 


please make sure to run as Root User


Usage

./podman.sh [OPTIONS]


Short FlagLong FlagDescription
-sInstall the Server container.
-rInstall the Repository (PostgreSQL) container.
-mInstall the RabbitMQ container.
-qInstall the QueryBuilder service.
-eInstall the Engine service.
--podman-dir(Required) Directory where Podman will store container data (graph root).
--repository-data-dirDirectory for Repository (PostgreSQL) data storage.
--env-filePath to .env file containing environment variables for the containers.
--networkSet networking mode (e.g., host).
-p
install the Python-service container.
-l 
install the llm container.
-vVersion of the application to be installed (e.g., 2025.3.1.0).
-h--helpShow help and usage instructions.



EnvFile Creation: 
The envfile is used to define environment variables required by various containers during installation (e.g., PostgreSQL configuration).

Navigate to the installation directory (or create it if it doesn't exist):

Edit the envfile and add the following content:
> nano /opt/datagaps/envfile


Add the following environment variables:

PG_PASSWORD=yourpassword
PG_DB=dataflow
PG_USER=postgres
POSTGRES_PASSWORD=yourpassword PG_PORT=5432

PG_HOST=<server_machine_ip>

  • Replace yourpassword with a secure password of your choice.

  • PG_PASSWORD is the name of the PostgreSQL database to be created.

  • PG_USER is the database username.

  • PG_PORT is the port PostgreSQL will listen on (default: 5432 don't-change).

  • Save and exit the file.

Example:

# File: /opt/datagaps/envfile
PG_PASSWORD=postgres
PG_DB=dataflow
PG_USER=postgres
POSTGRES_PASSWORD=postgres
PG_PORT=5432

PG_HOST=10.123.112.106


> now start application using below command 

Sample Commands:

    Install DataOpsServer, Repository, RabbitMQ, QueryBuilder with host networking:

./podman.sh -m -r -s -q -l -p --podman-dir /opt/datagaps --repository-data-dir /opt/datagaps --env-file /opt/datagaps/envfile --network host -v 2025.3.1.0

  

  Install DataOpsEngine only, with host networking:

./podman.sh -e --podman-dir /opt/datagaps --repository-data-dir /opt/datagaps --env-file /opt/datagaps/envfile --network host -v 2025.3.1.0


After installation you can check container status using podman ps

If Repository, DataOpsServer containers are in running mode application will take some time to deploy and start.


once after application start you can access application in web browser (Generally application url will be ip of Server machine followed by 6055 port )
example : http://<host_ip>:6055/datagaps-ui-ng/