This is a personal blog focused on computer software and hardware. Most
projects are implementing software and hardware for a homelab. What is a
homelab? I would say a homelab could be a single computer or dozens of
computers connected in a network. You can also integrate with computers
in the Cloud.
Relax-and-Recover is an open-source tool to create computer backup archives and bootable ISO images of a Linux system. ReaR creates a bootable image consisting of the latest state of the system to be backed up. This image can be used for disaster recovery. ReaR was designed to be easy to setup and can be run through a cron job with minimal effort if you have storage somewhere for storing backup images.
A Raspberry Pi (not pie) is a single-board computer developed in the UK by the Raspberry Pi foundation and Broadcom. The Pi was designed to promote basic computer science education around the world with a low cost computer that is accessible to developing nations. The Pi has been very popular world wide far beyond the original scope of the first product released. The newest single-board unit as of this post is the Raspberry Pi 4 Model B which contains a 64 bit processor, 1,2,4,or 8 GB of memory, 1 Gigabit Ethernet network interface, 2x USB 2 type A ports, 2x USB 3 type A ports, 2x micro HDMI ports, USB type C for power, 3.5mm A/V analog input, Wi-Fi and GPIO pins to connect non-standard devices.
Factorio is a game where you crash land on an alien planet and build a factory to create a space ship and escape the dangerous world you landed on.
factorio_logo
Configuring the server
Someone has already created an amazing container image that will start the game server as a non-root user and supports mods out of the box.
Only one volume/directory is needed to store the persistent data of the game server. In this example, the container will run on a Linux system with docker and the game server files will be stored in /opt/factorio. The game server runs on UDP port 34197 by default. This can be changed but the game client will expect the default port. If you are not familiar with running containers, see a previous post on how to get started with docker.
Cockpit is an open-source and easy to use web-based interface to manage a Linux system. It has features for users who may be new to Linux administration and provides information helpful to experienced administrators. By default, Cockpit will use the same user accounts that are present on the system. If the system is configured to use a directory service, Cockpit will forward the authorization to the directory service.
There are also other software packages supported to integrate with cockpit. It is available in distribution packages for Red Hat distros, Debian based distros, and Arch distros.
One of the most useful systems to set up in a homelab is shared storage. Making storage available over the network makes it easier to share files and make system backups.
A popular operating system for creating a network storage server is called TrueNAS which is based on FreeBSD and Linux and uses the OpenZFS file system. For a home lab, the BSD licensed free and public TrueNAS Core can be used in a homelab. This operating system is a stable base to set up SMB file shares for Windows clients, AFP for macOS, NFS for Linux, iSCSI for block storage, rsync daemons, and FTP servers.
This post is taking a look at another suite of software to create and manage Virtual Machines. For a background on computer virtualization, check out a previous post.
Linux distributions support virtualization through the Linux kernel which is why the software is called KVM. This stands for “Kernel-based virtual machine”. It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.