Skip to content
Pocket Homelab
Get the appComing soon to the App Store

NixOS appliance · Open source

The whole homelab, on one box.

Pocket Box turns a spare PC into a home server running Pocket Core and 50 Pocket apps. Boot the installer from a USB stick, pick a disk, reboot. Then open pocket.local from your phone.

x86-64 PC with UEFI · TPM 2.0 recommended · MIT licence

Pocket CorePocket HubPocket AIPocket FlowsPocket AlertsPocket WatchPocket MusicPocket PhotosPocket PodcastsPocket AudiobooksPocket LibraryPocket BookshelfPocket ReaderPocket RadioPocket RequestsPocket SubtitlesPocket GuitarPocket NotesPocket TasksPocket CalendarPocket ContactsPocket MailPocket DocumentsPocket FilesPocket OfficePocket DrawPocket ClipsPocket MoneyPocket InvoicingPocket SplitPocket GaragePocket InventoryPocket WishlistPocket DayPocket HabitsPocket HealthPocket MovementPocket StillPocket KitchenPocket TravelPocket LearnPocket HoroscopePocket ProjectsPocket TimePocket ReviewPocket PR ReviewPocket BlueprintPocket DatabasePocket MonitoringPocket BackupsPocket Network

From USB stick to signed in

  1. 1

    Boot the installer

    Write the ISO to a USB stick, boot the PC from it and run pocket-install. Pick the disk, type its name twice, and it installs. No network needed: the finished system is already on the stick.

  2. 2

    Open pocket.local

    From a phone or laptop on the same network, open http://pocket.local and install the box’s certificate once. The page has the steps for iPhone, Mac, Android and Windows.

  3. 3

    Create your account

    The first account in Pocket Core becomes the admin of Core and of every app. Everyone you add later gets their own space in each app.

  4. 4

    Finish the wizard

    Time zone, Ethernet or Wi-Fi, Tailscale and a console password, in one short setup. Skip it and everything waits under Settings → System.

Built like an appliance

Nobody has to open a setup screen for the services underneath, and nobody has to remember to update it.

What is on the box

Pocket Core and 50 Pocket apps, each at https://<app>.pocket.local, and the open-source services some of them sit on top of.

Services set up for you

ServiceUsed by
JellyfinPocket Watch, Pocket Subtitles
NavidromePocket Music
ImmichPocket Photos
ONLYOFFICE Document ServerPocket Office

Each one can be switched off. Media lives in /srv/media: movies, TV, music, books and audiobooks.

Tools the apps need, already there

  • OCRmyPDF and Tesseract in 16 languages for Pocket Documents
  • yt-dlp and ffmpeg for Pocket Podcasts
  • ffsubsync and alass for Pocket Subtitles
  • restic and rclone for Pocket Backups

Build it yourself

Everything is declared in one Nix flake, so the image you build is the image that ships. You need Nix with flakes on x86-64 Linux. Try the whole box in a VM before you touch a real disk.

Every change runs a full install in a VM with a software TPM: install, unlock, sign in to Core, check every app over HTTPS, then an update that must succeed and one that must roll itself back.

# the installer image
nix build .#iso

# the whole box in a VM
nix run .#vm
# → http://pocket.localhost:8080

# a single app
nix build .#habits

Still to come

  • Installing the certificate from the Pocket Homelab app during pairing, instead of from the landing page
  • The pocket.local names on the move, not only on the home network
  • Boot counting, so a release that does not boot rolls back without a trip to the boot menu
  • ARM images, Secure Boot, and Sign in with Pocket Core inside Jellyfin and Immich themselves

Pocket Homelab

Pair your phone in one scan.

Pocket Homelab for iPhone and Mac pairs with Pocket Core with a QR code and receives every service on the box, with its own token for each.

Get Pocket HomelabComing soon to the App StoreHow pairing works