Dynamically add GitHub Actions IP to AWS security group

In this tutorial we will see how to add GitHub actions IP dynamically to AWS security group. Whenever a workflow runs, Github actions IP will be added to the security group and removed when the jobs are done. If you use AWS security group to protect your infrastructure from any external access and you also use Github Action for CI/CD, you might need to allow Github Actions IP in AWS security group so that the workflow can execute the tasks in your instance....

April 25, 2021 · Kamrul

Monitor Kubernetes cluster using Prometheus and Grafana

Kubernetes is a very dynamic environment. In order to monitor this, we need a tool like Prometheus which can monitor such dynamic environment. In this tutorial, we will setup Prometheus which will collect the data from Kubernetes cluster and visualize it in Grafana. We will use Helm chart to setup Prometheus and Grafana easily 😎 Prerequisite A dynamic persistent provisioner. You can check my other guide on Setting up dynamic NFS provisioning in Kubernetes with Helm 3....

September 22, 2020 · Kamrul

Setup dynamic NFS provisioning in Kubernetes with Helm 3

(updated: 2-Oct-2022) In this tutorial, we will setup dynamic NFS provisioning so that whenever a user needs the storage, the storage will be provisioned automatically without the interference of the cluster administrators. Without the dynamic NFS provisioning, the cluster admin needed to pre-provision the storage manually for the users. There are several ways of setting up dynamic NFS provisioning. However, by using a Helm chart, we can easily set this up in a minute 😉...

September 22, 2020 · Kamrul

How to monitor remote servers with ELK stack using docker

Elastic stack (ELK) is a combination of multiple open source products (Elastic search+Logstash+Kibana) which takes data from different sources and visualize the data in Kibana. In this tutorial, we will see how to setup Elastic stack with Metricbeat by using docker 🤓. Metricbeat is a data shipper which collect the metrics from the system’s logs and services. We will setup Metricbeat in a way so that it collects the system’s metric and then ship the data to the Elastic stack....

September 14, 2020 · Kamrul

Setup Jenkins in different servers as master & slave within docker

In this guide, we will see how to setup Jenkins in different servers as master and slave. We will use docker to quickly run the Jenkins within the container and establish master slave communication between both servers. Having Jenkins master and slaves as Docker containers can be a very useful as it will be portable, easily extendable, isolated from other processes, easy to keep it maintainable, and resource efficient. For this guide, I will use two Linux servers both running Debian 10 and docker with docker compose....

June 3, 2020 · Kamrul

How to setup adblocker on OpenWrt router

In this quick guide we will see how to setup adblocker on OpenWrt router. I tested this on PandoraBox (OpenWrt based firmware for Xiaomi Mi3 router) and it works beautifully. Installing necessary packages We need to install some packages before setting up adblocker. First SSH into your router then execute the below commands (execute those commands one by one) wget --no-check-certificate https://gist.githubusercontent.com/k4mrul/6d0e395e5a332c2a2c27756d0d3b4c51/raw/dba9996ff7a0cd5973fe5ef93dbb0909d49cc180/ssl-in-wget.sh chmod +x ssl-in-wget.sh sh ssl-in-wget.sh Setting up adblocker Execute those below commands to download my custom adblocker script into /etc directory....

May 26, 2020 · Kamrul

Self hosted password management with bitwarden_rs

There are a lot of password management solutions out there but to me, it is always a good idea to manage passwords on-premises. By using bitwarden_rs, you can store all your secret info (password, note, two-factor authentication, credit card info) to your own server, even in your tiny raspberry pi . bitwarden_rs is an unofficial project of bitwarden which is written in Rust. The official self hosted bitwarden package needs minimum 2 GB ram in order to operate....

April 12, 2020 · Kamrul

Configure git auto pull in dev/prod server

In this tutorial we will see how to configure auto git pull in the development and production server so that, whenever you push commit to the specific branch, the latest commit will be automatically pull to the corresponding server based on the specific branch. Say, if you push the commit to the ‘dev’ branch, the commit will be pulled in development server. Similarly, if you push to the master branch, production server will get the latest commit....

April 12, 2020 · Kamrul

Deploy WordPress with OpenLiteSpeed on Docker swarm

In this tutorial, We will see how to deploy WordPress with OpenLiteSpeed web server, MySQL & phpMyAdmin in docker swarm. If you see the official docker image of WordPress in docker hub, you will find that the official image have built in Apache web server. As I am a big fan of OpenLiteSpeed (open source edition of LiteSpeed web server), here we will see how to run WordPress in OpenLiteSpeed web server....

March 14, 2020 · Kamrul

Clone Linux system to another computer with Borg

In this tutorial, we will see how to clone a Linux system to another computer with borg in a few steps. You might want to clone a Linux system so that you don’t want to reconfigure and install the same packages again to your new installation. Recently I faced the same situation where I wanted to clone my office’s Linux system to my laptop. I found a few ways of cloning the system in internet along with Borg, a deduplicating backup solution which supports encryption, compression and provides very efficient & secure way of backup....

February 11, 2020 · Kamrul