On-Prem Zotero WebUI — Self‑hosted PDF viewer for Zotero WebDAV libraries

Unofficial, self‑hosted web UI for reading PDFs from a Zotero library that syncs attachments via WebDAV.

https://github.com/joonsoome/on-prem-zotero-webui


TL;DR

- You use **official Zotero** + **WebDAV** as usual.
- This project runs on your own server and lets you **open those PDFs in a browser**, without installing the Zotero desktop app on every machine.
- Designed for **locked‑down / enterprise** environments where desktop installs or direct internet access are hard.


What is On-Prem Zotero WebUI?

On-Prem Zotero WebUI is an open-source, self-hosted web application that lets you open and read PDFs from a Zotero library whose attachments are stored on WebDAV (or a local filesystem path).
It is especially useful in environments with strict proxies, VPN requirements, or where installing the Zotero desktop client is impractical.

Behind the scenes, it focuses on:

- Reading Zotero-style attachment files (e.g. `.zip` on WebDAV).
- Extracting the first PDF from each attachment.
- Serving that PDF to your browser via a small FastAPI-based PDF proxy.


## Prerequisite: You still need Zotero once

Because of how Zotero works today, **you still need the official Zotero desktop client at least once** (on some machine that can reach the internet):

1. Install Zotero and create / sign in to a **Zotero.org** account.
2. Let Zotero sync your **metadata** (items, notes, tags, etc.) with Zotero.org.
3. Configure **WebDAV** (or compatible storage) as the file sync target for **attachments (PDFs)**.

After this initial setup:

- **Metadata** continues to live in Zotero and (optionally) sync with Zotero.org as usual.
- **PDF files** live on your own WebDAV / storage, which this project reads via the PDF proxy.
- You can use this project as a **browser-based PDF viewer** for that library, instead of installing the Zotero desktop client everywhere.

Note: This project does **not** replace all of Zotero’s features. It focuses on self-hosted PDF access; advanced metadata editing, search, and so on are on the roadmap (see below).


What you can do today

- Open and read PDFs from your Zotero WebDAV storage directly in a browser.
- Keep all PDF data on **your own server / NAS** (e.g. WebDAV on Synology).
- Deploy in environments where you cannot or do not want to:
- Install the Zotero desktop client on every machine.
- Allow those machines direct outbound internet access.
- Run it with **Docker Compose** or via **Portainer**, making it easy to manage as a self-hosted service.


## What it does *not* do yet

To avoid confusion:

- ❌ No full replacement for Zotero:
- No built-in metadata editing UI (title, authors, tags, etc.) yet.
- No full-text search across metadata.
- ❌ No multi-user account system yet:
- No per-user login / sharing model built in at this stage.

You still use:

- Zotero (desktop + Zotero.org) for **metadata management and sync**.
- On-Prem Zotero WebUI for **self-hosted PDF viewing**.


Requirements

You will need:

- An existing Zotero library with:
- A Zotero.org account (for metadata sync).
- A WebDAV (or similar) storage configured for attachments.
- A server / NAS that can run Docker (e.g. Synology NAS, home server, etc.).
- Basic familiarity with Docker Compose or Portainer.

---

## Quick Start (Docker Compose)

```bash
git clone https://github.com/joonsoome/on-prem-zotero-webui.git
cd on-prem-zotero-webui

# Edit docker-compose.yml:
# - Point volumes to your Zotero WebDAV / attachment path
# - Set any required environment variables

docker-compose up -d
# or: docker compose up -d
```
Sign In or Register to comment.