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.
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 · WindowsHighlights
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.
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.
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.
Browsing is one virtualized wall. A long shelf still scrolls as a single surface, and opening a file takes the whole window.
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
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
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.
Rest on a video. The next frames play on the card.
Library
Looks up books, artists and new works from gallery sites, and fills in a profile for someone you have already linked.
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.
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.
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.
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.
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.
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.
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.
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.
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.
One language
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
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.
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
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 →