Getting started

Run the h3xed server on your own hardware, finish setup in the browser-based wizard, add your libraries, then get the apps for the web, your desktop, and Apple TV. You'll be watching in minutes.

Install the server

The server runs on macOS, Windows, and Linux. The quickest path is the one-line native installer for your OS — it installs Node.js 22 and ffmpeg if they're missing, sets up an auto-start service, runs the server on port 32400, and gives you GPU hardware transcoding. Or run it in Docker. Re-running an installer upgrades in place and keeps your data.

macOS

In Terminal, as your normal user (not sudo):

curl -fsSL https://h3xed.app/install-macos.sh | bash

Installs into ~/Library/Application Support/Hexed and runs as a launchd LaunchAgent. Apple VideoToolbox hardware transcoding is available.

Windows

In an elevated PowerShell (Run as administrator):

irm https://h3xed.app/install-windows.ps1 | iex

Installs into %ProgramData%\Hexed and runs as a startup Scheduled Task. NVIDIA NVENC and Intel Quick Sync hardware transcoding are available.

Linux

As root with sudo:

curl -fsSL https://h3xed.app/install.sh | sudo bash

Installs into /opt/hexed and runs as a systemd service. VAAPI, Quick Sync, and NVENC hardware transcoding are available with the right drivers.

Docker (any OS)

One self-contained image with ffmpeg bundled. Pull it with docker pull ghcr.io/roxas712/hexed, or bring it up with Compose from the repo — point HEXED_MEDIA_DIR at your media, then docker compose up -d. Docker on macOS and Windows uses CPU transcoding (the Docker VM can't reach the GPU); on Linux you can add the GPU override. See Server Setup and DOCKER.md for the details.

Port: The server listens on 32400 by default. Override it with the HEXED_PORT environment variable or the server.port field in config.json.

Finish in the setup wizard

Open http://localhost:32400 on the server (or http://YOUR_SERVER:32400 from another device). On first run the server serves a setup wizard that walks you through everything:

  1. Remote access — choose whether to reach the server from outside your home network, or keep it local-only
  2. h3xed.app account — sign in or create an account; it links the server and becomes your admin (no separate server password needed). You can skip this for a LAN-only server.
  3. Name your server — how it appears in the apps
  4. Admin password — only asked if you skipped linking a cloud account
  5. TMDB API key — free at themoviedb.org, used for poster art, summaries, cast, and ratings (you can skip and add it later)
  6. Add a library — pick Movies or TV Shows, browse to your media folder (the wizard shows a live count of video files found), name it, and start the first scan

When you reach the end the server is running and ready. You can add more libraries, music, and photo libraries from Settings afterward.

Remote access

Linking your server to h3xed.app during setup pairs your devices and routes traffic through a secure relay, so you and the people you invite can reach the server from anywhere — no port forwarding and no nginx required. You can optionally forward a port for direct video streaming when you're remote, or skip it and use the relay for everything.

Prefer to stay on your LAN, or want a custom domain behind your own reverse proxy? See Server Setup.

Get the apps

Once setup is complete, watch from any of these:

Profiles & sharing

Set up Netflix-style profiles so everyone in the house gets their own watch state and watchlist, and add managed (kids) profiles with content restrictions. To let friends and family onto your server, send them an invite and choose which libraries they can see. You can also add friends, watch together in a watch party, and link servers co-op so your libraries appear merged. See Users & Access for all of it.

Managing your server

The native installers set up an auto-start service (a launchd LaunchAgent on macOS, a Scheduled Task on Windows, a systemd service on Linux) that restarts on crash. To update a native install, re-run the same one-line installer — it upgrades in place and keeps your data. For Docker, docker compose pull && docker compose up -d. See Server Setup for the per-platform start, stop, and log commands.

Next steps