Installation - Docker
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:
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
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
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:
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:
docker-compose pull
Run the containers:
docker-compose up -d
Step 6: Run Auth Service Docker Container
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.
Step 7: Run Database Backup Script
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.
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: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.
© 2022 Publicis Sapient. All rights reserved.