Open-source document review with AI.
Revdoku helps you review important documents visually, line by line. Upload a file, run a checklist, and see the issues Revdoku finds. It can check rules line by line, compare values with reference files, run custom scripts, and create reports.
Screenshot
Video
revdoku-demo.mp4
- Checklist review. Check a document against your own rules.
- Precise highlights. See the exact line, number, or clause that needs review.
- Cross-document checks. Compare a document with a quote, agreement, policy, or other reference file.
- Revision tracking. Upload a new version and keep track of what changed.
- Reports and public links. Export reports or create public report links.
- Custom scripts. Add small scripts for checks such as totals, counts, and categories.
- Cloud or local AI. Use cloud AI providers or local tools such as LM Studio and Ollama.
- Email upload. Send files to a per-account email address for upload.
- Encryption. Documents and sensitive data are encrypted at rest.
Use this for a single-user desktop install on this computer.
Other ways to use Revdoku: Hosted Cloud - Self-host on a server
Required software:
- Docker Desktop on macOS or Windows
- Docker Engine with Docker Compose on Linux
Open Terminal on macOS or Linux. On Windows, open WSL. Then run:
curl -fsSL https://raw.githubusercontent.com/revdoku/revdoku/main/install-local.sh | shThe installer will:
- create a local data folder at
~/.revdoku - create the secrets needed to encrypt your data
- start Revdoku in Docker
- open a one-time local sign-in link
No email or password is needed for the local single-user install.
After install, use this command any time:
~/.revdoku/revdoku openThis starts Revdoku if needed and opens a fresh local sign-in link.
Do not open http://localhost:3217 directly. That is the normal app URL and
may show the email/password sign-in page. Use ~/.revdoku/revdoku open
instead.
A shortcut should run the Revdoku helper command. Do not make a shortcut or
bookmark to http://localhost:3217. The helper starts Revdoku if needed and
opens a fresh local sign-in link.
macOS:
cat > "$HOME/Desktop/Revdoku.command" <<'EOF'
#!/bin/sh
"$HOME/.revdoku/revdoku" open
EOF
chmod +x "$HOME/Desktop/Revdoku.command"Double-click Revdoku.command on your Desktop. If macOS blocks it the first
time, right-click it and choose Open.
Linux desktop:
mkdir -p "$HOME/.local/share/applications"
cat > "$HOME/.local/share/applications/revdoku.desktop" <<'EOF'
[Desktop Entry]
Name=Revdoku
Comment=Open Revdoku
Exec=sh -lc "$HOME/.revdoku/revdoku open"
Terminal=false
Type=Application
Categories=Office;
EOF
chmod +x "$HOME/.local/share/applications/revdoku.desktop"Some Linux desktops may ask you to mark the launcher as trusted.
Windows with WSL:
Create a normal Windows shortcut. Use this as the shortcut target:
C:\Windows\System32\wsl.exe -e bash -lc "$HOME/.revdoku/revdoku open"
If you use a named WSL distro, include it:
C:\Windows\System32\wsl.exe -d Ubuntu -e bash -lc "$HOME/.revdoku/revdoku open"
Replace Ubuntu with your WSL distro name if needed.
- Run
~/.revdoku/revdoku open - Add an AI provider in
Settings -> AI -> Providers, or enable Ollama - Upload a document and run a checklist
Revdoku can start without an AI provider, but reviews need either a cloud provider key or Ollama.
In Revdoku, open the top-right menu and select:
SettingsAIProviders
Add the API keys for the providers you want to use. Revdoku stores them in encrypted form.
You can use Revdoku with local AI through Ollama engine for complete privacy (no documents will be leaving your laptop!).
Video demo of how Revdoku works with local LLM Google Gemma 4 via Ollama
Revdoku-Local-Gemma-4-via-Ollama-social.mp4
-
Install Ollama (the engine for interacting with local LLMs)
-
macOS or Windows: download it from https://ollama.com/download
-
Linux:
curl -fsSL https://ollama.com/install.sh | sh
-
-
Download the local model:
ollama pull gemma4:e4b
gemma4:e4bis the recommended local default. It is an edge Gemma 4 model with text and image input support. It is about 9.6 GB.Revdoku runs in Docker and connects to Ollama through
http://host.docker.internal:11434/v1. If Revdoku cannot reach Ollama, configure Ollama withOLLAMA_HOST=0.0.0.0:11434and restart Ollama. Keep port11434private or firewalled, because this can expose Ollama on your host network. See the Ollama FAQ for the exact setup steps for macOS, Linux, and Windows. -
Enable Ollama in Revdoku:
~/.revdoku/revdoku enable-ollamaIf this command is missing, rerun the install command once. It keeps your data and updates the local helper command.
This only adds the Ollama configuration to Revdoku. It keeps your data and restarts the local container.
After this, Settings -> AI -> Providers should show Local Ollama as ready.
Model pickers will include Local Gemma · Basic.
Local Gemma · Basic uses Google Gemma 4 E4B through Ollama on your own
computer or laptop. After the model is downloaded, it works fully offline as
long as Revdoku and Ollama are running.
This does not make local AI the default automatically. After sign-in, open
Account -> AI and choose Local Gemma · Basic where you want to use it.
Useful commands:
~/.revdoku/revdoku start
~/.revdoku/revdoku stop
~/.revdoku/revdoku logs
~/.revdoku/revdoku update
~/.revdoku/revdoku enable-ollama
~/.revdoku/revdoku backupThe local app only listens on 127.0.0.1. The installer uses the first free
port starting at 3217 and saves it in ~/.revdoku/revdoku.env.
Your local data is encrypted. Keep revdoku.env and storage/ together.
To make a backup:
~/.revdoku/revdoku backupDo not copy only storage/. The revdoku.env file has the key needed to read
your documents and saved provider keys.
This removes the current local install from Docker and moves the data folder aside. Do this only when you want a fresh local install.
~/.revdoku/revdoku stop
mv ~/.revdoku ~/.revdoku.old.$(date +%Y%m%d-%H%M%S)
docker rm -f revdoku-local 2>/dev/null || trueDo not delete the old folder until you are sure you do not need the local data.
You can also use Revdoku without installing anything:
Use the hosted version if you do not want to install Docker, run a server, or manage backups.
The local installer creates this folder:
~/.revdoku
It contains:
revdoku.env- local secrets and encryption keyscompose.yml- Docker Compose configstorage/- SQLite databases and uploaded filesrevdoku- helper command
Native Windows PowerShell install is experimental. WSL is recommended on Windows.
PowerShell command:
Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/revdoku/revdoku/main/install-local.ps1 -OutFile "$env:TEMP\revdoku-install-local.ps1"; powershell -ExecutionPolicy Bypass -File "$env:TEMP\revdoku-install-local.ps1"Use this path for a private team server, VPS, homelab, or internal network install.
You need:
- a Linux server
- Docker Engine and the Docker Compose plugin
- a domain or internal hostname
- HTTPS from Caddy, nginx, Traefik, Cloudflare Tunnel, or another proxy
-
Clone the repo:
git clone https://github.com/revdoku/revdoku.git cd revdoku -
Create your config:
cp env.example .env.local
-
Edit
.env.local.Fill in every
[REQUIRED]value. At minimum, set the secrets, the first admin user, and the public URL:APP_HOST=revdoku.yourdomain.com APP_PROTOCOL=https
If HTTPS ends at your proxy, also set:
REVDOKU_FORCE_SSL=true
-
Start Revdoku:
./bin/start -d
-
Point your HTTPS proxy to:
http://127.0.0.1:3000
Before you invite users:
- Back up
.env.localand the Docker volumerevdoku_storagetogether. - Do not run
docker compose down -vunless you want to delete local data. - For a private server, set
REVDOKU_REGISTRATION_ENABLED=falseafter you create the first admin user. - Configure SMTP if you need email confirmation, password reset, or invitations.
- Configure AI provider keys in Account -> AI -> Providers, or set operator-wide keys in
.env.local.
Use this path only if you want to edit the code or build the image yourself.
You need:
- Docker Desktop, or Docker Engine on Linux
- Git
- WSL if you are on Windows
-
Clone the repo:
git clone https://github.com/revdoku/revdoku.git cd revdoku -
Create your config:
cp env.example .env.local
-
Open
.env.localin a text editor.Fill in every
[REQUIRED]value. The file includes commands for creating secure random secrets. -
Start Revdoku:
./bin/start
-
Open:
http://localhost:3000 -
Sign in with the admin email and password from
.env.local.
To force a local build instead of using the prebuilt image:
./bin/start --buildYou can add provider keys inside the app:
Account -> AI -> Providers
Supported options include:
- OpenAI
- Google Cloud
- OpenRouter
- Local Ollama with
gemma4:e4b - other local LLMs such as LM Studio
- custom LLM providers
When Revdoku runs in Docker and your local LLM runs on the same computer, use
host.docker.internal instead of localhost.
Examples:
http://host.docker.internal:1234/v1
http://host.docker.internal:11434/v1
Core includes public /shared/<token> report links.
To disable report sharing for the whole install:
SHARE_REPORT_ENABLED=falseWithout AWS_S3_SHARED_BUCKET, self-hosted installs store shared snapshots on
local disk under storage/shared_reports/.
All configuration uses environment variables.
See env.example for the full list.
- Documents and sensitive database fields are encrypted at rest.
- Local installs use SQLite.
- Two-factor authentication is available.
- Logs are available at
/logs. - Revdoku has no telemetry.
For HIPAA or BAA needs, use the hosted version:
Report security issues privately:
Please, do not open public GitHub issues for security reports.
Bug reports and pull requests are welcome. For large changes, please open a GitHub Discussion first.
Revdoku is licensed under AGPLv3. See LICENSE.
A commercial license is also available. Contact:
Hosted version: https://revdoku.com · Issues: https://github.com/revdoku/revdoku/issues
