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 \
-v ./data:/app/data \
orochibraru/nuvio-web:latestIt works on any URL as is, plain HTTP included. Put HTTPS in front before it leaves your network. See Configuration.
#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:
# Behind a reverse proxy that terminates HTTPS. See Configuration.
PROTOCOL_HEADER: x-forwarded-proto
HOST_HEADER: x-forwarded-host
healthcheck:
interval: 30s
retries: 3
start_period: 5s
test: ["CMD", "curl", "-fsS", "http://localhost:3000/api/health"]
timeout: 30sThen open it at the HTTPS address your proxy serves.
#Tags
| Tag | What it is |
|---|---|
latest | The most recent stable release |
vX.Y.Z | A specific stable release |
canary | The latest build of main, ahead of the next release |
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, curl for the health check, and
one binary. The build compiles the SvelteKit app with the Bun runtime embedded
into a self-contained /app/dist/server via
@sveltejs/adapter-bun, so the image
ships no Bun install and no node_modules. It runs as an unprivileged user (uid
10001).
GET /api/health answers 200 while the server is up. The image's HEALTHCHECK
curls it; orchestrators can probe it directly.
#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 :3000Bun is the only prerequisite. See Development for the dev server.
This guide lives in the project repo: edit it there, and this page follows with the next release.