Back to work WIREDWOLVES · portfolio

Automation · 2024

ActionPak

Setting up a homelab usually means chasing a dozen separate install guides and typing the same commands over and over. ActionPak collapses that into one menu. You run a single script, pick a tool from a list, and it installs and configures itself. Built so a beginner can stand up a real homelab without living in the command line.

Bash Linux Homelab

What it sets up

One script, a spread of the tools a homelab actually runs on, grouped by what they do:

Security monitoring

Wazuh, Nessus, ClamAV

System administration

Webmin, iVentoy, service account

Cloud infrastructure

CasaOS

Networking

Tailscale

Application delivery

Kasm

Boot & provisioning

PXE network boot via iVentoy

The menu

Run the script and this is what you get. Pick a number, and that tool installs and configures itself. No manual command-line setup for any of them.

actionpak.sh
Homelab -ActionPak- by Bas v1.3 Select an option: 1) Wazuh Installation Manager 2) Nessus 3) AntiVirus for Linux (ClamAV) 4) Webmin 5) Create a service account 6) CasaOS (Docker) 7) Tailscale 8) Kasm 9) PXE network boot iVentoy 10) Exit Enter your choice:

Run it

The script checks for its own prerequisites, pulls itself down, makes itself executable, and launches the menu. Copy the whole block into your terminal.

bash · install & run
# Check and install sudo if not present
if ! command -v sudo &> /dev/null; then
    apt-get update && apt-get install -y sudo
fi

# Check and install curl if not present
if ! command -v curl &> /dev/null; then
    sudo apt-get update && sudo apt-get install -y curl
fi

# Download the script
sudo curl -s https://raw.githubusercontent.com/Baslocal/Homelab/main/actionpak.sh > actionpak.sh

# Make the script executable
sudo chmod +x actionpak.sh

# Run the script
sudo ./actionpak.sh

Why I built it

Every one of these tools has its own setup, its own quirks, its own way of failing on a fresh box. I'd done each of them by hand enough times that the steps were muscle memory, so I put that muscle memory into a script. The goal was accessibility: someone new to homelabs should be able to stand up real infrastructure without needing to already know how. It works the same for someone experienced who just doesn't want to type it all again.

This is a personal tool shared as-is. Anyone using it takes on the responsibility of running it on their own systems.