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
```
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
```
Upgrade Storage