Ruan Bekker

@ruanbekker

852 Points 8 Followers

30 Posts

0 Answers

Joined February 15th, 2021

I love cloudy stuff, containers, automation, linux and sharing my knowledge with the world.

Ruan Bekker · 1 week ago

Docker Multistage Builds for Hugo

In this tutorial I will demonstrate how to keep your docker container images nice and slim with the use of multistage builds for a hugo documentation project. Hugo is a static content genera...
1

Ruan Bekker · 1 month ago

Setup a 3 Node MongoDB Replica Set on Ubuntu

MongoDB, the database for modern applications. If you are not familiar with MongoDB, its a general purpose, document based, distributed database. What are we building today? MongoDB Replica...
1

Ruan Bekker · 2 months ago

Setup Linkding Bookmarks Manager on Docker

I've stumbled upon a great bookmarks manager service called Linkding. What I really like about it, it allows you to save your bookmarks, assign tags to it to search for it later, it has chro...
3

Ruan Bekker · 3 months ago

Create a Discord Bot in Python

In this tutorial we will develop our own Discord bot using Python. The source code for this bot will be stored in my github repository About the bot First we will create a basic discord bot...
4

Ruan Bekker · 4 months ago

Docker Monitoring Starter Template

In this tutorial we will dive a bit deeper into the docker-monitoring-stack-gpnc repository, on how to setup a docker monitoring stack that runs grafana, prometheus, node-exporter, cadvisor...
2

Ruan Bekker · 5 months ago

Create DNS Records with Terraform on Cloudflare

In this tutorial we will use Terraform to create DNS records on Cloudflare. Installing Terraform I will be installing terraform for linux, but you can follow terraform's documentation if you...
2

Ruan Bekker · 8 months ago

Deploy Docker Containers with Terraform

In this post I will demonstrate how to use the terraform docker_container resource from the docker provider to run two docker containers, traefik and nginx and use the random provider to gen...
3

Ruan Bekker · 9 months ago

Setup a Self-Hosted Git Service with Gitea

Gitea is a self-hosted git service written in Go, it's super lightweight to run and supports ARM architectures as well, so you can run it on a Raspberry Pi as well. What are we doing today I...
5

Ruan Bekker · 9 months ago

Redirect Systemd Unit Logs to Syslog

By default when we create a systemd unit file and start the service using systemd, we can access the logs using journalctl as: $ sudo journalctl -fu <unit-name> If we wanted to redire...
3

Ruan Bekker · 9 months ago

Install Nodejs on Linux using NVM

In this post we will install Nodejs using Node Version Manager (nvm), which allows you to install and use different versions of node via the command line. For more information on NVM, checko...
3

Ruan Bekker · 10 months ago

Setup Glitchtip Exception Monitoring on Docker

Glitchtip is a open-source exception monitoring system, it's similar to Sentry, which collects errors reported from your applications and helps you discover errors in real time and also help...
1

Ruan Bekker · 11 months ago

A Tour with Vagrant and VirtualBox on Mac

Vagrant, yet another amazing product from Hashicorp. Vagrant makes it really easy to provision virtual servers for local development (not limited to), which they refer as "boxes",...
4

Ruan Bekker · 1 year ago

Running Traefik Proxy on Docker

In this tutorial we will be setting up Traefik v2 as our reverse proxy with port 80 and 443 enabled, and then hook up a example application behind the application load balancer, and route i...
6

Ruan Bekker · 1 year ago

Performance Monitoring with Elastic APM

In this post we will setup a Python Flask Application which includes the APM Agent which will collect metrics, that gets pushed to the APM Server. If you have not setup the Elastic Stack wi...
2

Ruan Bekker · 1 year ago

Weather Monitoring with Grafana and the DHT22 Sensor

In this tutorial, we will connect the DHT22 sensor to the Raspberry Pi Zero via the GPIO pins to measure temperature and humidity and visualize it with Grafana. Then we will write a Python e...
4

Ruan Bekker · 1 year ago

Getting Started with Prometheus and Node Exporter

Prometheus is one of those awesome open source monitoring services that I simply cannot live without. Prometheus is a Time Series Database that collects metrics from services using it's expo...
7

Ruan Bekker · 1 year ago

AWS S3 KMS and Python for Secrets Management

So your application need to store secrets and you are looking for a home for them. In this tutorial we will see how we can use Python, S3 and KMS to build our own solution for managing secre...
3

Ruan Bekker · 1 year ago

Setup a Serverless URL Shortener on AWS

Today we will setup a Serverless URL Shortener using API Gateway, Lambda with Python and DynamoDB. Overview The service that we will be creating, will shorten URLs via our API which will cre...
3

Ruan Bekker · 1 year ago

Using Python RQ for Task Queues in Python

This is a getting started on python-rq tutorial and I will demonstrate how to work with asynchronous tasks using python redis queue (python-rq). What will we be doing We want a client to sub...
5

Ruan Bekker · 1 year ago

Gitlab CICD Pipeline to Deploy your Python Flask API with Postgres on Heroku

Today we will build a Restful API using Python Flask, SQLAlchemy using Postgres as our Database, testing using Python Unittest, a CI/CD Pipeline on Gitlab, and Deployment to Heroku. Should y...
4

Ruan Bekker · 1 year ago

Capturing 54 Million Passwords with a Docker SSH Honeypot

The last couple of days I observed thousands of SSH Brute Force Attacks, so I decided I will just revisit my SSH Server configuration, and change my SSH port to something else for the interi...
5

Ruan Bekker · 1 year ago

Encryption using PyCrypto in Python

While I'm learning a lot about encryption at the moment, I wanted to test out encryption with the PyCrypto module in Python using the Advanced Encryption Standard (AES) Symmetric Block Ciphe...
3

Ruan Bekker · 1 year ago

Improve MySQL Write Performance Using Batch Writes

I am no DBA, but I got curious when I noticed sluggish write performance on a mysql database, and I remembered somewhere that you should always use batch writes over sequential writes. So I...
2

Ruan Bekker · 1 year ago

Setup a Hugo Blog with the Kiera Theme

In this tutorial we will setup a Hugo Blog with the Kiera theme on Linux and will be using Ubuntu for this demonstration, but since Hugo runs on Go, you can run this on Windows, Linux or Mac...
1

Ruan Bekker · 1 year ago

Setup AWS S3 Cross Account Access

In this tutorial, I will demonstrate how to set up cross-account access for S3, from using two AWS Accounts. Scenario We will have 2 AWS Accounts: a Green AWS Account which will host the I...
1

Ruan Bekker · 1 year ago

Getting Started with Grafana Loki for Logging

Logging with Loki is AMAZING! Background In the past couple of months I've been working a lot with logging, but more specifically logging with Loki. As most of my metrics reside in Promethe...
1

Ruan Bekker · 1 year ago

Using the libvirt provisioner with Terraform for KVM

In this post we will use the libvirt provisioner with Terraform to deploy a KVM Virtual Machine on a Remote KVM Host using SSH and use Ansible to deploy Nginx on our VM. In my previous post...
1

Ruan Bekker · 1 year ago

Sending Slack Messages with Python

In this post I will demonstrate how to send messages to slack using python based on the status of an event. We will keep it basic, that when something is down or up, it should send a slack m...
2

Ruan Bekker · 1 year ago

HTTPS for Local Development with MiniCA

In this tutorial we will use minica to enable us to run our web applications over HTTPS for local development. To read more about about minica check out their website. Generate Certificates...
2

Ruan Bekker · 1 year ago

Running Grafana Loki behind Nginx Reverse Proxy

In this tutorial I will demonstrate how to run Loki v2.0.0 behind a Nginx Reverse Proxy with basic http authentication enabled on Nginx and what to do to configure Nginx for websockets, whic...
2

Loading More Content