Menu
Nuvio Web docs

Install

Nuvio Web is distributed as a multi-arch Docker image (orochibraru/nuvio-web) for linux/amd64 and linux/arm64. There is no database to provision, but mount a volume on /app/data: the app keeps signed-in sessions and each profile's library, watch progress and history there, in SQLite, and syncs them with your Nuvio account in the background (Sync). Without it, a restart signs everyone out and drops changes not yet pushed to Nuvio. One container per data directory.

You will need a Nuvio account. You can create one from the app's own sign-up screen.

Docker run

docker run -p 3000:3000 -e ORIGIN=http://localhost:3000 \
  -v ./data:/app/data \
  orochibraru/nuvio-web:latest

Docker Compose

services:
  nuvio:
    image: orochibraru/nuvio-web:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      # Sessions, and your library / progress / history. Back it up.
      - ./data:/app/data
    environment:
      # The URL you actually browse to. See Configuration.
      ORIGIN: http://localhost:3000
    healthcheck:
      interval: 30s
      retries: 3
      start_period: 5s
      test: ["CMD", "/app/dist/healthcheck"]
      timeout: 30s

Then open http://localhost:3000.

Tags

TagWhat it is
latestThe most recent stable release
vX.Y.ZA specific stable release
canaryThe latest build of main, ahead of the next release
pr-NNNA pull request build, for trying a change before merge

Pin a vX.Y.Z tag if you want an upgrade to be a decision rather than a restart.

What is in the image

The runtime layer is debian:bookworm-slim plus one binary. The build compiles the SvelteKit app with the Bun runtime embedded into a self-contained /app/dist/server via svelte-smol, so the image ships no Bun install and no node_modules. It runs as an unprivileged user (uid 10001).

/app/dist/healthcheck is a second self-contained binary suitable for Docker's HEALTHCHECK and for orchestrator liveness and readiness probes; the image declares it already.

Building it yourself

docker buildx build -t nuvio-web:latest .

Or through the bake definition, which is what CI uses:

docker buildx bake app

Without Docker

bun install
bun run build
bun run start   # serves ./build/server on :3000

Bun is the only prerequisite. See Development for the dev server.

This guide lives in the project repo: edit it there, and this page follows within a day.