Browse documentation
DocsGet started

Quick start

From an empty folder to your own media server.

Before you start

RequirementUse
Docker Engine + Compose v2Linux host; amd64 or arm64. Docker Desktop also works for local evaluation.
A non-root host accountOwns the data directory. Run the install commands as this account.
Persistent local storageapp-data/ stores the database, managed library, and caches.
MemoryDefault container limit: 5 GiB, including a 1 GiB playback tmpfs. Budget extra for local models.

Start Lumina

Run on the server, as the account that will own app-data/. The release image includes the web app, API, and media tools.

shell
(
  set -eu
  mkdir lumina
  cd lumina
  lumina_release=https://github.com/shiftedx/lumina/releases/download/v0.4.0
  curl -fsSLO "$lumina_release/docker-compose.yml"
  curl -fsSLO "$lumina_release/SHA256SUMS"
  if command -v sha256sum >/dev/null 2>&1; then
    grep 'docker-compose.yml$' SHA256SUMS | sha256sum -c -
  else
    grep 'docker-compose.yml$' SHA256SUMS | shasum -a 256 -c -
  fi
  printf 'LUMINA_RUNTIME_UID=%s\nLUMINA_RUNTIME_GID=%s\n' "$(id -u)" "$(id -g)" > .env
  docker compose pull lumina
  docker compose up -d --no-build lumina
  curl -fsS --retry 15 --retry-connrefused --retry-delay 2 http://127.0.0.1:8765/api/health
)

The commands verify the download and wait for the health check. If a step fails, the sequence stops. Use a new folder and a non-root account with Docker access.

Create your household

  1. Open http://127.0.0.1:8765 on the server. For a headless server, forward the port:
    shell
    ssh -L 8765:127.0.0.1:8765 [email protected]
  2. Create the first account. It becomes the vault owner.
  3. Follow the storage walkthrough, or open Manage Server → Library & storage.
  4. Mount and register a media folder, then choose Import now. See Add your media.

Check the server

shell
docker compose ps
docker compose logs --tail=100 lumina
curl -fsS http://127.0.0.1:8765/api/health

Expected: the service is healthy and the health endpoint succeeds. docker compose down stops the server and retains bind-mounted data.

Applies to Lumina 0.4.0. Source: operator guide

Find your next step.

Type to search all documentation.