Category Archives: General

Information and overviews of a general nature.

Raspberry Pi NAS 2

Raspberry Pi NAS 2
Raspberry Pi NAS 2

We’ve built a second NAS and Docker environment using another Raspberry Pi 5. This NAS features four 2.5 in 960 GB SSD drives in a RAID-0 array for fast shared storage on our network.

Raspberry Pi NAS Hardware Components

Raspberry Pi 5 Single Board Computer

We use the following components to build our system –

I had five 960 GB 2.5″ SSD drives from a previous project available for this project.

The following video covers the hardware assembly –

We used a 2.5 GbE USB adapter to create a 2.5 GbE network interface on our NAS.

2.5 GbE USB Adapter
2.5 GbE USB Adapter

The configuration of the Fan/Display HAT top board is covered here.

FAN/Display Top Board
FAN/Display Top Board

This board comes as a kit that includes spaces to mount it on top of the Raspberry Pi 5/SSD Drive Interface HAT in the base kit.

Software Components and Installation

We installed the following software on our system to create our NAS –

CassaOS

CasaOS Web UI
CasaOS Web UI

CasaOS is included to add a very nice GUI for managing each of our NUT servers. Here’s a useful video on how to install CasaOS on the Raspberry Pi –

Installation

The first step is to install the 64-bit Lite Version of Raspberry Pi OS. This is done by first installing a full desktop version on a flash card and then using Raspberry Pi Imager to install the lite version on our SSD boot drive. We did this on our macOS computer using the USB to SATA adapter and belenaEtcher.

We used the process covered in the video above to install CasaOS.

Creating a RAID

We choose to create a RAID-0 array using the four SSD drives in our NAS. Experience with SSD drives in a light-duty application like ours indicates that this approach will be reasonably reliable with SSD drives. We also backup the contents of the NAS daily to another system via Rsync to one of our Synology NAS drives.

RAID-0 Storage Array
RAID-0 Storage Array

CasaOS does not provide support for RAID so this is done using the underlying Linux OS. The process is explained here.

File Share

CasaOS makes all of its shares public and does not password-protect shared folders. While this may be acceptable for home use where the network is isolated from the public Internet, it certainly is not a good security practice.

Fortunately, the Debian Linux-derived distro we are running includes Samba file share support, which we can use to protect our shares properly. This article explains the basics of how to do this.

Here’s an example of the information in smb.conf for one of our shares –

[Public]
    path = /DATA/Public
    browsable = yes
    writeable = Yes
    create mask = 0644
    directory mask = 0755
    public = no
    comment = "General purpose public share"

You will also need to create a Samba user for your Samba shares to work. Samba user privileges can be added to any of the existing Raspberry Pi OS users with the following command –

# sudo smbpasswd -a <User ID to add>

It’s also important to correctly set the shared folder’s owner, group, and modes.

We need to restart the Samba service anytime configuration changes are made. This can be done with the following command –

# sudo systemctl restart smbd

Homelab Projects

We built our Home Lab to do projects to help us to learn about modern data centers and IT technology. Here are some Home Lab projects that we are planning to do.

Raspberry Pi Home Lab Project

Pi Rack Module - Future Home Lab Projects
Pi Rack Module

We provide many training presentations for the Amateur Radio community. We are working on a project to build a simple, low-power Home Server and NAS device using a Raspberry Pi 4.

Artificial Intelligence

We are experimenting with Artificial Intelligence tools. We are approaching this in a way that allows us to run things locally on our own systems. We want to experiment with Generative AI using Large Language Models for text and image generation.

We have already begun our AI journey. Want to see what we are doing so far? Check out our AI Category or try the AI menu above.

Home Automation

We plan to set up Home Assistant to manage our smart devices, Home Lab, and Media Services.

Replace PCs with VMs and Thin Clients

Currently, we run quite a few computers in our home. We plan to replace some machines with VMs and access them via thin clients and web browsers.

Ansible Playbooks and Semaphore

We have done some work with Ansible related to configuring Linux hosts. We plan to create playbooks to update our systems, set up VMs, and more. We also want to explore Ansible Semaphore to improve the management and automation of our Ansible playbooks.

The following video covers Ansible Semaphore –


Set up and Application of Ansible Semaphore

Containers, Containers, Containers

There are lots of cool applications and services that can run in Docker or LXC containers. We will continue to look for opportunities to try new containers and add more services to our Home Lab.

Check back again soon for more on our Home Lab projects.

Welcome To Our Home Lab

Home Network Dashboard
Home Network Dashboard

This site is dedicated to documenting the setup, features, and operation of our Home Lab. Our Home Lab consists of several different components and systems, including:

  • A high-performance home network with redundant Internet connections
  • A storage system that utilizes multiple NAS devices
  • Multiple enterprise-grade servers in a high-availability cluster
  • Applications, services, and websites
  • Powered via dual-UPS protected power feeds and a backup generator

Home Network

Home Network Core, High-Availability Storage and Secondary Server Rack
Home Network Core, High-Availability Storage, and Secondary Server Rack

Our Home Network uses a two-tiered structure with a core based upon high-speed 25 GbE capable aggregation switches and optically connected edge switches. We use Ubiquity UniFi equipment throughout. We have installed multiple OM4 multi-mode fiber links from the core to each room in our house. The speed of these links ranges from 1 Gbps to 25 Gbps, with most connections running as Dual-Fiber LACP LAG links.

We have redundant Internet connections which include 1 Gbps optical fiber and a 400 Mbps/12 Mbps cable modem service.

Out Network Rack also includes two SuperMicro Servers and a pair of Synology NAS drives in a high-availability configuration. These drives provide solid-state storage for Proxmox Virtual Machine disks and Docker volumes.

Main Server and Storage

Main Server Rack and NAS Storage Rack
Main Server Rack and NAS Storage Rack

Our Server Rack houses our main Dell Server and several of our Synology NAS Drives. It features redundant UPS power and includes rack-mounted Raspberry Pi systems which provide several different functions in our Home Lab.

Our servers run Proxmox in a high-availability configuration. In total, we have 104 CPUs and 1 TB of RAM available in our primary Proxmox cluster.

This rack includes an all SSD storage high-speed NAS that we use for video editing. It also includes a NAS which stores our video and audio media collection and provides access to this content throughout our home and on the go when we travel.

High Capacity Storage System

Main NAS Storage Rack
Main NAS Storage Rack

Our NAS Rack provides high-capacity storage via several Synology NAS Drives. It features redundant UPS power and includes additional rack-mounted Raspberry Pi systems which provide several different functions in our Home Lab. This rack also houses our Raspberry Pi NAS and NAS 2 systems.

Our total storage capacity is just over 1 Petabyte. Our setup also provides approximately 70 TB of high-speed solid-state storage.

Power Over Ethernet (PoE)

Main Power Over Ethernet (PoE) Switch

We make use of Power Over Ethernet (PoE) switches at many edge locations in our network to power devices through their ethernet cables.

The switch shown above is located centrally where all of the CAT6 ethernet connections in our home terminate. It powers our Surveillance Cameras, IP Telephones, Access Points, etc.

Home Media System

Our Home Theater
Our Home Theater

We use our Home Network and NAS System to provide a Home Media System. Our Media System sources content from streaming services as well as stored video and audio content store on our Media NAS drive and enables it to be viewed from any TV or Smart Device in our home. We can also view our content remotely when traveling or in our cars via the Internet.

Surveillance System

Synology Surveillance System
Synology Surveillance Station

We use Synology Surveillance Station running on one of our NAS drives to support a variety of IP cameras throughout our home. This software uses the host NAS drive for storing recordings and provides image recognition and other security features.

Telephone System

Telephone System Dashboard
Telephone System Dashboard

We use Ubiquity Unifi Talk to provide managed telephone service within our home.

Ubiquity IP Telephone

This system uses PoE-powered IP Telephones which we have installed throughout our home.

Applications, Services, and Websites

We are hosting several websites, including:

Set-up information for our self-hosted sites may be found here.

Privacy Policy

Who we are

Our website address is: https://homelab.anita-fred.net.

Our site documents and shares information about our Home Lab installation and features.

Comments

When visitors leave comments on the site, we collect the data shown in the comments form and the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site, you may opt-in to save your name, email address, and website in cookies. These are for your convenience so you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will set up several cookies to save your login information and screen display choices. Login cookies last two days, and screen options cookies last a year. If you select “Remember Me”, your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g., videos, images, articles, etc.). Embedded content from other websites behaves exactly as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who do we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can automatically recognize and approve any follow-up comments instead of holding them in a moderation queue.

For users who register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights do you have over your data

If you have an account on this site or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.