Replace Failed Drive in RAID Array

This guide can serve as a general to do list when you receive a disk error on a NAS device protected by redundant disks, for example: RAID 1, RAID 4, RAID 5, etc. With this process, you will not have any data loss, unless you unplug the wrong disk or perform the steps indicated here not in the correct order. So, please pay attention to the instructions.

First of all it’s important to identify the correct disk to replace, and keep in mind that, for data loss risks, you do not want to run a failing disk for long. A failing disk is a disk on which, bad sectors are starting to appear, and the SMART disk troubleshooting indicates an imminent failure. Continue reading “Replace Failed Drive in RAID Array”

The case for UNIX to run your business critical applications and not Windows

After the CrowdStrike incident, I decided to remind everyone that Windows has no business running business critical applications. In this article I will cover why it’s not a good idea and why it’s a great idea to have UNIX/Linux derivatives to run business critical applications.

First let’s describe how Windows evolved into the operating system of today and why it cannot change its core architecture to accomodate business critical applications die to the lack of of what I call foundational security. Continue reading “The case for UNIX to run your business critical applications and not Windows”

Run Minecraft (Spigot) and Geyser server in Containers

Did you ever wanted to run a Minecraft server, but after looking at the instructions, tried different ways, at in the end, gave up? Or you just want a quick and easy way to run a Minecraft server? Well this article is for you.

I am going to show you how to quickly get a integrated Minecraft server, bedrock and Java into a single configuration executed in docker containers.

In order to accomplish this, we need to run two products, a spigot server and a geyser server, a spigot is a high performance Java Minecraft server, and a geyser server is a gateway for bedrock clients to use a Java server. Continue reading “Run Minecraft (Spigot) and Geyser server in Containers”

SSH Public/Private Keys Explained

I decided to write this post mainly because during my career, I’ve experienced many people not understanding private/public keys, the different uses, when and when not to use them.

This article is going to cover public/private key pairs to use only with SSH, but there are many uses for public/private key pair, however, they are beyond the scope of this article.

In the most simpler terms, a private/public key pair can be considered like a door lock and a key, the door lock can be compared to the public key, and the key to the provate key. Everyone can see the door lock, but only the key can open it, you need both to be able to unlock the door.

Continue reading “SSH Public/Private Keys Explained”

Relocate Docker Data Root Directory

Lately I had a need to move the Docker root directory to a different filesystem. After researching the item and saw that the documentation out there was limited and not very clear, I decided to write the necessary steps here.

By default, on most systems, the docker root directory is located in the directory /var/lib/docker, this directory is used to store thigs like images, volumes, and other different docker runtime items. In order to move this directory to a different location, let’s say /opt/docker-root, there are few steps required, more specifically:

Continue reading “Relocate Docker Data Root Directory”

Pipe ( | )? What is it and how you use it

The pipe (|) is one of the foundational things in UNIX.  The Pipe allows you to redirect STDOUT to STDIN of the next commend.

Understanding STDIN, STDOUT, and STDERR is important to better understand the pipe. I have an article which explains STDIN, STDOUT, and STDERR here. Make sure you read it before proceeding.

Continue reading “Pipe ( | )? What is it and how you use it”

Convert WordPress Server into Docker Containers (Part 1)

In this post, we are going to discuss how to migrate a traditional WordPress + MySql or MariaDB into Docker containers. This post is very involved and requires knowledge spanning a wide spectrum of technologies. This post assumes that you know, or can find out about opening firewall ports, UNIX/Linux commands, etc. And only focus on the necessary step to convert WP+DB into Docker containers. Now, let’s discuss the prerequisites:

Prerequisites:

Continue reading “Convert WordPress Server into Docker Containers (Part 1)”

Convert WordPress Server into Docker Containers (Part 2)

Welcome to part 2. Time to move the next steps, and complete the migration. By the time we are done, we will have:

  • External facing NGINX container proxying to the internal WordPress instance.
  • SSL certificate issuing and renewals with a companion container
  • A WordPress container with your site migrated
  • A MariaDB database container containing your migrated database

Enough talking, let’s get to work!

Continue reading “Convert WordPress Server into Docker Containers (Part 2)”