On-Premise Deployment

Requirements

You will need a server running Ubuntu 24.04 or later with minimum specifications:

  • 4 CPU cores (16 CPU cores recommended)

  • 16GB RAM (64 GB RAM recommended)

  • 128GB storage

  • 30 Mbps internet speed

  • User with passwordless sudo access (explained in detail below)

Note: The application is resource-intensive. More CPU cores (16+ cores) and especially more RAM (64GB+) are strongly recommended for optimal performance.

Setup Passwordless Sudo Access

Jenkins requires passwordless sudo access to execute deployment and system-level commands automatically, as it runs under a non-interactive service account.

1. Edit the sudoers file safely:

sudo visudo

2. Add this line (replace "username" with your deployment user):

username  ALL=(ALL:ALL) NOPASSWD: ALL

3. Save and exit

Jenkins Installation

1. Update Packages

sudo apt update

2. Install Java

sudo apt install openjdk-17-jre -y

3. Add Jenkins Repository Key

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | \
sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null

4. Add Jenkins Repository

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | \
sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

5. Update Packages with Jenkins Repository

sudo apt update

6. Install Jenkins

sudo apt install jenkins -y

7. Start Jenkins Service

sudo systemctl enable jenkins 
sudo systemctl start jenkins

Unistream Configuration

1. Clone Repository

git clone -b main --single-branch --depth 1 \
https://dev.azure.com/datamindge/Unistream/_git/prod

Use "Unistream" as the username and the PAT token provided via email as the password

2. Navigate to Directory

cd prod

3. Run Configuration Script

sudo bash setup-jenkins-config.sh

The script will ask for VM host, sudo user, and password. This information is used for SSH connection. For VM host, specify the IP address of the same machine in the case of single VM deployment.

4. Get Admin Password

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Jenkins Configuration

  1. Open {Jenkins host}:8080 in your browser

  2. Enter the admin password and complete the registration

  3. Go to Plugins → Available plugins

  4. Find and install the "Publish Over SSH" plugin

  5. Agree to restart after installation

  6. After restart, go to Manage Jenkins → Credentials

  7. Update the "Unistream/****** (Azure DevOps PAT for Jenkins)" credential with the PAT provided via email

  8. Find and run the "full-unistream-deployment" pipeline on the main page

Port Access After Deployment

Administrator Access (Full Access)

Administrators should have access to the following ports:

8123, 5433, 8080, 8081, 8082, 1745, 7070, 6901, 6902, 6903, 6908

Standard User Access

Standard users should have access to the following ports:

8081, 8082, 1745

Help

For questions, please contact the datamind team.

Last updated