Lab

Where my projects actually run

How it's wired

My lab is a UGREEN DXP2800 NAS at home, plugged into my ISP box with a few ports open to the Internet. Caddy sits in front and routes each subdomain to the right container; every app runs in Docker.

Why a homelab. System design is the part of engineering I find the most interesting, and the one school talks about the least. In a large company it decides everything: where state lives, what fails together, how a change reaches production. A homelab lets me practise it for real. Here I design it, run it, break it and fix it, which is the fastest way I know to learn.

How a request reaches my lab A request goes from the Internet to my ISP box, which forwards it to the UGREEN DXP2800 NAS. On the NAS, Caddy routes it by subdomain to one of the Docker containers: Shameless, Forgeyard, LoL Tournament, forge-home, Pelican, Romm. Internet *.thomas-forge.dev ISP box ports open to the NAS UGREEN DXP2800 · NAS Caddy routes by subdomain Docker Shameless Forgeyard LoL Tournament forge-home Pelican Romm
One request, from the Internet to a container.

Mine

  1. Shameless

    shameless.thomas-forge.dev · source

    Custom 5v5 games with friends.

  2. Forgeyard

    forgeyard.thomas-forge.dev · source

    My open-source PaaS, running on the NAS.

  3. LoL Tournament (outdated)

    lol-tournament.thomas-forge.dev · source

    Players, ranked data and team generation for custom games. Its successor is Shameless.

  4. forge-home

    thomas-forge.dev · source

    The open-source start page that links everything here, with live status.

Also running

  1. Pelican

    games.thomas-forge.dev · open source, self-hosted

    Game server panel.

  2. Romm

    romm.thomas-forge.dev · open source, self-hosted

    Game library manager.

Enter

Everything above is linked, with live status, from thomas-forge.dev.