linXivlinXiv

Self-hosting

linXiv runs on hardware you own: a personal laptop, a lab workstation, or a server your group controls. There is no mandatory hosted service: install the app and your library lives entirely on that machine.

Where your data lives

Everything (papers, notes, tags, annotations) lives in one SQLite file, papers.db, plus a PDF directory:

  • Linux: ~/.local/share/com.linxiv.app
  • macOS: ~/Library/Application Support/com.linxiv.app
  • Windows: %APPDATA%\com.linxiv.app

Set LINXIV_DATA_DIR to point linXiv at a different location instead: a synced folder, an external drive, or a path on a shared machine.

Back it up

Because everything is a local SQLite file plus a PDF directory, backup and migration are ordinary file operations: stop the app and copy the data directory. Before upgrading to a new release, copying papers.db out first costs nothing and saves a library if a migration goes wrong. Export projects to Obsidian, BibTeX, or shareable .lxproj bundles whenever you need to move data out entirely.

Sharing a project without a server

Projects can be shared directly with another person over a peer-to-peer connection (via iroh), without running a relay server or account. You're either the Hoster of a share or a Reader of one; a Hoster invites members as Editor or Viewer, and write access is enforced host-side. Sync uses end-to-end encrypted CRDTs, so edits merge instead of overwriting each other. Find it under Shared in the app.

One caveat worth knowing: today, connections go through iroh's public discovery and relay infrastructure to find each other. You don't run that server, but you also can't yet point sharing at one you control. A configurable relay, so labs and research groups can keep sharing traffic on their own infrastructure, is on the roadmap.