Articles

Tutorials

Containerization of a Flask application

Flask can be seen as the equivalent of Express for Python. However, although an express application is basically production ready, a Flask app outputs the following when executed by itself:
TutorialsDevOps

Self-hosted GitLab instance for DevOps on Ubuntu 18.04

GitLab provides a great number of tools needed for the DevOps cycle of an application. In this guide, we'll install a GitLab instance on our own server and configure it to fit our DevOps needs. Here, we will use a fresh install of Ubuntu 18.04 as a base.
WIPDevOpsTutorials

Self hosted Docker registry

When using the <code>docker pull</code> command, container images are by default downloaded from docker hub, the official public registry for container images. However, for some projects, images are better stored on a private platform. This can be achieved by hosting one's own docker registry.
DockerTutorialsDevOps

Sending pictures via http with an ESP32-CAM

Pictures taken with the ESP32-CAM can be sent in a multipart/form-data type content via HTTP. Here is a sample code to achieve this:
ESP32TutorialsHTTP

SSH through an SSH blocking proxy

SSH through an SSH blocking proxy thumbnail
Most corporate networks have their outbound traffic go through a proxy server to prevent unauthorized access to external resources. It can happen that such proxy only allows HTTP and HTTPS traffic. As such, one cannot connect to an external host via SSH. One way to solve this problem is to use <a href="https://github.com/proxytunnel/proxytunnel" rel="noopener noreferrer nofollow">Proxytunnel</a>. This article follows <a href="https://egret.psychol.cam.ac.uk/techniques/firewall.html" rel="noopener noreferrer nofollow">this guide</a>.
SSHProxyTutorialsProxyTunnel

Serving web applications with Apache

Let's imagine we have a server with Apache2 listening on port 80. Since port 80 is used, other web apps, developed for example with Node.js, must use another port. Consequently, one would need to open a new port on one's router every time a new app is developed.
TutorialsApacheLinux

NodeJS app dockerization

NodeJS apps can be containerized using the <code>docker build</code> command. This article is based on <a href="https://nodejs.org/de/docs/guides/nodejs-docker-webapp/" rel="noopener noreferrer nofollow">this guide</a>.
Node.jsDockerTutorialsDevOps

Controlling a motor using an H bridge

Controlling a motor using an H bridge thumbnail
A DC motor model can be as simple as: T = K * I where T is the torque provided by the motor, K the motor constant and I the current that flows through it. From this simple model, one can see that if the sign of the current changes, that of the torque also changes. Thus, changing the direction of rotation of a DC motor is a simple as reverting flow into it.
TutorialsMechatronicsElectronicsMotor

Git store credentials

Having to enter one's credentials for every push to a remote can be annoying. Here is to have git save those credentials for future uses.
TutorialsGit

kubectl basics

Here are some of the basic kubectl commands.
TutorialsKubernetes