Skip to content
← All articles
Project introduction

MediaBox homelab — what I run in Docker (and what stayed a bookmark)

Listen to the audio story

From a port list to a compose file: how MediaBox started · 2:02 · AI-written script, synthetic voices

Transcript

Ava: Antoine kept forgetting what was running on port eight thousand ninety-six. So he started writing a list. That list grew into a GitHub project called MediaBoxDockerCompose.

Andrew: A to-do list of apps that turns into a repo. What's actually in it?

Ava: One docker compose file, shared storage paths on disk, and lessons from breaking things at home. He uses it when he wants one host, many containers, shared volumes. So Jellyfin next to Deluge next to FreshRSS, without a new container per hobby.

Andrew: Why Jellyfin, and not Plex?

Ava: He says it gives library playback without the Plex account drama. And Plex, Sonarr and Radarr are still bookmarks, not in the compose file today.

Andrew: What else made the cut?

Ava: Things he actually kept. Netdata, for the is-the-disk-full-again glance. Guacamole, for remote desktop in a browser tab. BookStack for homelab docs. Gitea for git experiments before pushing to GitHub. And he picked ports in families starting with eight hundred, which made life easier behind Caddy.

Andrew: And what if compose isn't the right shape?

Ava: Then he uses the Proxmox VE Helper-Scripts. They're community one-liners you paste into the Proxmox shell, and you get a container plus a post-install menu for updates. He's run compose on one VM and separate containers from those scripts on the same rack, depending on whether he wanted shared volumes or hard isolation.

Andrew: So no religion about it.

Ava: No. His line is to pick compose or Proxmox scripts for the shape of the problem, not because a blog post said one is cooler.

Andrew: And the famous list? How long did it get?

Ava: The original sheet had eighty-six Docker names, plus dozens never wired up. He doesn't paste it, because it ages badly and reads like a status dashboard.

Andrew: What's the other takeaway?

Ava: Plan ports in families, and remember that running something once isn't the same as operating it. The README in the repo is the real manual, and the full post has the service tables.

Homelab wall stack — switch, modem, router, server, UPS
Table of contents

I kept a private list of self-hosted apps I wanted to try — mostly so I would stop assigning random ports and forgetting what lived on :8096. That list turned into MediaBoxDockerCompose[1] on GitHub. This post is the short version: what I wired up, how I install on Proxmox when compose is not the right shape, and where the full port map lives so this page does not become a spreadsheet with SEO.

Same chapter as networking evolution — cables on the wall, then services in git. The photo is from when I was still labeling ports with tape; the compose file is what survived.

1. What MediaBox is

One docker-compose.yml, shared ROOT paths on disk, and opinions I earned from breaking things locally. I use it when I want one host, many containers, shared volumes — Jellyfin next to Deluge next to FreshRSS without spinning up a new LXC per hobby.

The repo README has default ports, credentials, backup notes, and the install path I actually follow. Treat this post as context; treat the README as the manual.

2. What I wired up (by job, not by checkbox)

These are the services that made it into compose long enough to matter. Ports are how I reached them on the LAN (:800x families on purpose — easier behind Caddy).

2.1. Media and files

ServicePortWhy I kept it
Jellyfin[2]:8096Library playback without Plex account drama
Airsonic[3]:4040Music and podcasts in one place
Deluge[4]:8112Torrent client I could automate around
Cloud torrent[5]:6889Remote queue when I was away from the box
Mylar[6]:8090Comics without manual hunting
Piwigo[7]:8049Photo gallery for family stuff
Lychee[8]:8035Lighter photo sharing experiments

I still bookmark *Plex, Sonarr, Radarr, arr-adjacent tools — same homelab aisle, not in my compose file today. When I want them on Proxmox I use helper-scripts (below) instead of hand-writing another stack.

2.2. Dashboards, remote access, ops

ServicePortWhy I kept it
Dashmachine[9]:5000One page of links when I forgot URLs
Netdata[10]:19999“Is the disk full again?” at a glance
Guacamole[11]:8012Browser RDP/VNC without installing clients
KDE in Docker[12]:8100Full desktop in a tab (debugging habit)
Ubuntu XRDP[13]:3389Pairs with Guacamole for a real desktop session
TeamSpeak[14]—Voice with friends during lockdown-era gaming
Linkd[15]—Short links on my domain

2.3. Notes, RSS, money, diagrams

ServicePortWhy I kept it
BookStack[16]:6875Homelab docs that are not random Markdown files
Wallabag[17]:8899Read-it-later without a subscription
FreshRSS[18]:8007Feeds in one place
DailyNotes[19]:5001Daily log when I actually used it
Firefly III[20]:8006Personal finance tracking (repo sync still catching up)
Grocy[21]:9283Pantry ERP — more fun than useful, still educational
draw.io[22]:8005Diagrams without leaving the network
Gitea[23]:8008Git for experiments before pushing to GitHub
Calibre[24]:8001, :8002E-books
Huginn[25]:8013“If this then that” I host myself

2.4. Oddballs I still like

ServicePortNote
Neko[26]:8032Shared browser room — rabbit-hole energy
Deezloader Remix[27]:1730Legacy stack; kept for history more than daily use
OpenTogetherTube[28]:6666My fork — watch party experiments

3. Proxmox when compose is the wrong tool

On Proxmox I often use Proxmox VE Helper-Scripts[29] — community-maintained one-liners (built on tteck[30]’s work). Search on community-scripts.org[31], paste into the Proxmox shell, pick default or advanced, get an LXC plus a post-install menu for updates.

Same names as my old wish list — Jellyfin, Vaultwarden, AdGuard, Home Assistant — different packaging. I have run compose on one VM and separate CTs from helper-scripts on the same rack depending on whether I wanted shared volumes or hard isolation.

4. Host tools (not in compose)

Ansible, Cockpit (:9090), Dokku, and Lynk install on the host when the job is “manage the metal” or “expose a TCP service safely,” not “run another container row.”

5. The long wish list

The original tracking sheet had 86 Docker names and dozens more I never wired up — Nextcloud, Vaultwarden, mail stacks, game servers, the full *Arr parade. I am not pasting that grid here; it ages badly and reads like a status dashboard.

If you want the exhaustive map, open the MediaBoxDockerCompose[1] repo and issues, or browse community-scripts.org/categories[31] for the Proxmox side. For one container on a fresh Linux box before full compose, I used another-install-script[32] — menu-driven bash, same era as the homelab.

6. What stuck with me

  • Plan ports in families — :800x saved my firewall rules and my sanity.
  • Running something once ≠ operating it — LAN-only experiments are still valuable.
  • Forks are where ideas go — OpenTogetherTube[28], wireguardweb[33].
  • Pick compose or Proxmox scripts for the shape of the problem, not because a blog post said one is cooler.

References

  1. antoinebou12. (). MediaBoxDockerCompose. [Software repository] github.com.
  2. Jellyfin. (). [Web page] jellyfin.org.
  3. linuxserver. (). docker-airsonic. [Software repository] github.com.
  4. deluge-torrent. (). deluge. [Software repository] github.com.
  5. jpillora. (). cloud-torrent. [Software repository] github.com.
  6. Mylar. (). [Web page] hub.docker.com.
  7. Piwigo. (). [Web page] hub.docker.com.
  8. electerious. (). Lychee. [Software repository] github.com.
  9. rmountjoy92. (). DashMachine. [Software repository] github.com.
  10. netdata. (). netdata. [Software repository] github.com.
  11. oznu. (). docker-guacamole. [Software repository] github.com.
  12. ms-jpq. (). kde-in-docker. [Software repository] github.com.
  13. danielguerra69. (). ubuntu-xrdp. [Software repository] github.com.
  14. solidnerd. (). docker-teamspeak. [Software repository] github.com.
  15. HexF. (). linkd. [Software repository] github.com.
  16. BookStack. (). [Web page] www.bookstackapp.com.
  17. wallabag. (). wallabag. [Software repository] github.com.
  18. FreshRSS. (). [Web page] hub.docker.com.
  19. m0ngr31. (). DailyNotes. [Software repository] github.com.
  20. Firefly III. (). [Web page] www.firefly-iii.org.
  21. linuxserver. (). docker-grocy. [Software repository] github.com.
  22. draw.io. (). [Web page] hub.docker.com.
  23. Gitea. (). [Web page] gitea.io.
  24. kovidgoyal. (). calibre. [Software repository] github.com.
  25. huginn. (). huginn. [Software repository] github.com.
  26. nurdism. (). neko. [Software repository] github.com.
  27. Deezloader Remix. (). [Web page] notabug.org.
  28. antoinebou13. (). OpenTogetherTube. [Source file or documentation] github.com.
  29. community-scripts. (). ProxmoxVE. [Software repository] github.com.
  30. tteck. (). [Web page] github.com.
  31. community-scripts.org. (). [Web page] community-scripts.org.
  32. antoinebou12. (). another-install-script. [Software repository] github.com.
  33. antoinebou13. (). wireguardweb. [Source file or documentation] github.com.

References use this article’s publication date.