Personal media library

Your library, kept like a book on the shelf.

Viora is a desktop library for photos, video, comics, illustrations and novels. One quiet window for what you already keep at home or on a NAS, and a read-only page your phone can open.

New in 1.10Your agent over MCP · the Plugins Store → Free · v1.10.1 · updated 2026.10.24 · Apple Silicon · Intel · Windows
Vioraan open book for your media

Highlights

A library that reads what you already have.

Viora does not ask you to import a second copy. It indexes the folders you point at, then stays out of the way while you look.

01

Files stay put

Photos, video, comics and novels remain in the folders you chose. Local mode never leaves this machine, and nothing is uploaded to make a library.

02

This computer or a NAS

One Go server. The desktop starts it on loopback, or you run the same binary in Docker on the shelf, with several libraries if you want them. A phone reads either one in its browser.

03

A wall that keeps up

Browsing is one virtualized wall. A long shelf still scrolls as a single surface, and opening a file takes the whole window.

04

Quiet until you ask

No account to begin. Plugins, model packs, a NAS password and an agent's key appear only when you choose them. The wall works with none of that installed.

Core features

A wall for looking. Rooms for reading. A server that stays yours.

The desktop is an Electron window. The library itself is a Go backend — local by default, the same program on a NAS. Media stays on your disks.

The wall

Photos, video, comics and novels in one scroll.

Folders carry a type: Images, Videos, Comics or Novels. Images can be marked photos, illustrations, anime or 3D. The wall then speaks that topic — a media wall, a comic wall that can show an identity you already stored, or a novel shelf. Search and sort stay on the wall. At the library root, a row of what you opened recently sits under the title, and only on this computer.

ImagesVideosComicsNovels

Rest on a video. The next frames play on the card.

Viora Home ▾

Library

My Library

Recent
Home
Plugins
InstalledStore
Doujin galleries Source · 1.0.9

Looks up books, artists and new works from gallery sites, and fills in a profile for someone you have already linked.

Viora recognition Model pack · 1.0.0

Tags and people from a model pack that runs on this machine. Its weights download only after you accept the licence.

From the official catalog, or through a proxy. Nothing installs until you choose it.

The tour plays on its own. Hover the window to sort, search, or open a thumbnail yourself.

New in 1.10

Your own agent, by invitation

Viora no longer ships an assistant of its own. A library can instead hand the agent you already use — Claude, LM Studio or any MCP client — a set of tools: look around, search, read an item, see a picture or a frame. Allow changes, and it can make folders, rename, move and trash, each step in Activity marked as an agent's and undoable. Allow notes, and it can write down what it saw for its next search. Off by default, one key per library, shown once.

MCPOff by defaultUndoable
New in 1.10

The Plugins Store, when the shelf should reach further

Comic indexes, discovery, downloads and recognition are plugins, not a list of sites built into the app. Open Plugins → Store, pick a source or a model pack from the official catalog and install it — through a proxy if your line needs one — or pack your own with viora-plugin. With none installed, those shelves stay hidden: the app does not know a site until a plugin says so.

StoreSourcesModel packsInstall on purpose

A room for each kind of file

A photo opens full-bleed, with a filmstrip of its neighbours. Video plays the original file, and resting on a video card can cross-fade through preview frames. A format the window cannot play converts on this machine — on the Mac's hardware encoder where there is one — and starts playing before the conversion is done. Comics turn by page or as a spread, left to right or right to left. Novels are their own reading room. Each player takes the window, then returns you to the wall.

PhotosVideoComicsNovels

The file keeps its place in the library

Rename, move or trash from the wall. The library follows the file, so a name change in place does not drop the metadata you already attached. Deleted items sit in a bin you can restore. Activity keeps thirty days of changes — yours and an agent's — to filter by day or by who made them, and to undo from. Gather a set of files and rename them together: find and replace, a prefix or a suffix, the extension left alone. A Collection can mix loose files, whole folders and live tags — cover, accent and density included — without moving or copying anything on disk. Collections live on this computer.

RenameMoveTrash30-day historyCollections

On your phone, from the same server

The server carries a read-only page of its own. Unlock a library, walk its folders, search, and open photos, video, comics and novels — EPUB and PDF included. Photos arrive at screen size, not as whole originals. Add it to the home screen and, over https, the page keeps working offline. A library on this computer lets a phone in from the library screen: off until you turn it on, and only with a password.

Read-onlyHome screenLet a phone in

The same server, at home or on a shelf

Packaged Viora carries its own local server and starts it only after you choose this computer. Server mode is that binary in Docker: it can hold more than one library, and each library can ask for a password. The desktop already speaks that API. A NAS session belongs to the server; the app does not keep the password.

LocalDockerSeveral libraries

Recognition, only after you allow it

Tags and people can come from a model pack running on this machine through ONNX Runtime. You install the pack, accept its licence, then turn recognition on. Faces, labels and a few frames from a video stay in the library. Leave it off, and the wall is only what you filed — comic tags included, when the books already have them.

TagsPeopleOn device

Privacy on the window

The window can frost when focus leaves, and clear when it returns. That is a local display safeguard. Playback choices and the rest of Preferences stay on this machine, beside the database, thumbnails and models — not inside the app bundle.

FrostThis machine
VIORA
Comics Pages in a book
CBZ and the sources you plug in when you want them.
Novels Long form, quiet
Chapters stay files. Reading stays local.
Illustration Drawn things, hung
Art and stills share one wall.
Video Motion, frame by frame
Play the original. Preview without opening it.
Photos A day kept whole
Folders of stills, as you left them on disk.
Viora
one book · one letter · one library

One language

The open book is the whole vocabulary.

The mark is a hardcover seen from below — gold boards, aged pages, the letter V. Sidebar icons keep the same stroke and corners, so the interface and the logo come from one geometry.

Get Viora

Open the library you already have.

The packaged app carries its own local server. Point it at folders on this machine, or connect to a NAS you already run. The installers below are the three desktop builds.

Version 1.10.1, updated 2026.10.24.

Version 1.10.1 Updated Apple Silicon & Intel Macs Windows 10 / 11 Free

Opening it the first time. The installers are not signed yet, so the system asks before it lets Viora start.

Mac: unzip, move Viora to Applications and open it. If macOS cannot verify it, choose Open Anyway in System Settings → Privacy & Security. If it says Viora is damaged, run xattr -dr com.apple.quarantine /Applications/Viora.app in Terminal, then open it again.

Windows: if SmartScreen stops the installer, choose More info → Run anyway.

On a NAS. The server is a Docker image for x86 (amd64) and ARM (arm64) machines. Put a viora.json in the config folder, then start it:

docker pull ghcr.io/opencoast/viora-server:latest
docker run -d --name viora -p 8420:8420 \
  -v /volume1/docker/viora/data:/data \
  -v /volume1/docker/viora/config:/config:ro \
  -v /volume1/photos:/media/photos \
  ghcr.io/opencoast/viora-server:latest

viora.json lists the libraries, with folders as paths inside the container. A password is optional:

{
  "listen": ":8420",
  "dataDir": "/data",
  "libraries": [
    { "id": "family", "name": "Family", "password": "change-me",
      "roots": [{ "path": "/media/photos" }] }
  ]
}

In the app, choose Add a NAS and enter http://<your-nas>:8420 as the server address. To stay on one release, use a version tag instead of latest. To upgrade, pull again and recreate the container.

New in 1.10

  • On your phone. The server serves a read-only page: folders, search, photos, video, comics and novels, ready for the home screen.
  • Your agent, over MCP. Let an agent you already use look through a library, and, if you allow it, tidy it. Off by default, every change undoable.
  • Video that plays. A format the window cannot play converts on the spot and starts before the conversion ends.
  • Thirty days of Activity. Every change, filtered by day or by who made it, with Undo.
  • And more. Rename a set of files at once, search that stays in its folder, a plugin Store.

Upgrading a NAS? Pull the new image as well: a 1.10 app will not connect to a 1.0 server.

Everything that changed, version by version →
✓Your media stays on disk. Local mode listens only on this machine.
✓A NAS library uses a session the server owns. The password is not stored in the app.
✓Plugins and model packs install when you ask. Weights download only after you accept a licence.
✓Database, thumbnails and models live in your user folder, not in the app bundle.