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.
To create the "PSKnowHOW" directory on a Linux system:
mkdir /location/PSKnowhow |
Replace /location/PSKnowhow
with your preferred location. Ensure you have appropriate permissions and sufficient storage in the chosen directory.
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.
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.
Update database credentials and other environment variables as specified in the Application Environmental Variables documentation.
Create a read-write privileged MongoDB user:
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 |
Open a terminal in the PSKnowHOW
folder.
Pull the images:
docker-compose pull |
Run the containers:
docker-compose up -d |
Pull the Auth Service Docker image:
docker-compose pull |
Run the container:
docker-compose up -d |
Connect the KnowHOW container with Auth containers:
docker network connect <auth container network> <knowhow ui container name> |
Access the application using the DNS in your browser.
Download the shell script to
/var/knh
on the server.
Grant executable permissions:
chmod +x /var/knh/dbbackup.sh |
Automate the backup process with crontab:
(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.
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:
aws s3 cp /var/backups/backup_filename.sql s3://your-s3-bucket-name/ |
After completing the installation, refer to the Post-Installation Guide for further steps.