...
Overview
To deploy PSKnowHOW, the following containers are essential:
UI
CustomAPI
MongoDB
Optional containers can be included based on specific requirements:
jira-processor
devops-processor (collectors for Jenkins, GitHub, GitLab, Bamboo, Bitbucket, Zephyr, Sonar, and TeamCity
...
)
...
azure-board-processor (for Azure Board)
...
azure-pipeline-repo (for Azure Pipeline and Azure Repo)
...
You can selectively deploy these containers as needed.
...
Step 1: Create Folder Structure
To create the "
...
PSKnowHOW" directory
...
on a Linux system:
Code Block |
---|
mkdir /location/PSKnowhow |
Replace
...
/location/PSKnowhow
...
with your preferred location.
...
Ensure you have appropriate permissions
...
and sufficient storage in the chosen directory.
...
Step 2: Download docker-compose.yaml
...
Go to https://github.com/PublicisSapient/PSknowHOW/blob/master/docker-compose.yaml
...
Navigate to the PSKnowHOW GitHub repository.
Right-click on the Raw button and select Save link as to download the
docker-compose.yaml
file
...
as shown
...
below
...
:
...
Save the file in the previously created
PSKnowHOW
folder.
...
Step 3: Download Auth Service docker-compose.yaml
...
Edit the docker compose file with appropriate values
Update Credentials of DB and other Environmental variable as specified here
Installation on Windows
...
title | Click to view details... |
---|
Open terminal/command prompt in PSKnowhow folder .
Pull the images by (For Docker for Desktop)
Code Block docker-compose pull
(For Podman)
Code Block |
---|
podman-compose pull |
Run the container by (For Docker for Desktop)
Code Block docker-compose up -d
(For Podman)
Code Block |
---|
podman-compose up -d |
...
Download Auth Service docker-compose.yaml.
Open the file in your preferred editor.
Replace placeholders (e.g., Docker image tags, DB username, password) with appropriate values.
...
Step 4: Edit docker-compose.yaml
Update database credentials and other environment variables as specified in the Application Environmental Variables documentation.
Create a read-write privileged MongoDB user:
Code Block docker exec -it mongodb /bin/bash mongo admin -u ${MONGO_INITDB_ROOT_USERNAME} -p ${MONGO_INITDB_ROOT_PASSWORD} use kpidashboard db.createUser({user: '<MONGODB_APPLICATION_USER>', pwd: '<MONGODB_APPLICATION_PASS>', roles:[{role:'readWrite', db:'kpidashboard'}]}) exit
...
Step 5: Pull Docker Images and Run Containers
Open a terminal in the
PSKnowHOW
folder.Pull the images:
Code Block docker-compose pull
Run the containers:
Code Block docker-compose up -d
...
Step 6: Run Auth Service Docker Container
Pull the Auth Service Docker image:
Code Block docker-compose pull
Run the container:
Code Block docker-compose up -d
Connect the KnowHOW container with Auth containers:
Code Block docker network connect <auth container network> <knowhow ui container name>
Access the application using the DNS in your browser.
...
Step 7: Run Database Backup Script
Download the
shell script toView file name dbbackup.sh /var/knh
on the server.Grant executable permissions:
Code Block chmod +x /var/knh/dbbackup.sh
Automate the backup process with crontab:
Code Block (crontab -u root -l; echo "0 23 * * 1-7 /var/knh/dbbackup.sh") | crontab -u root -
This schedules the backup every day at 11:00 PM.
...
Step 8: Backing Up to AWS S3
Create an S3 Bucket: Set up an Amazon S3 bucket in a different region for redundancy.
Configure AWS CLI: Install and configure the AWS CLI on your server.
Modify Backup Script: Edit the
dbbackup.sh
script to include:Code Block aws s3 cp /var/backups/backup_filename.sql s3://your-s3-bucket-name/
...
Step 9: Post-Installation Steps
After completing the installation, refer to the Post-Installation Guide for further steps.