Install and Run
Install options
Section titled “Install options”Option 1: Download a desktop app (no Node required)
Section titled “Option 1: Download a desktop app (no Node required)”Current published installer links are available for Windows and Linux.
| Platform | Package | Download |
|---|---|---|
| Windows | NSIS installer | Keyper.Setup.v1.3.1-win-x64.exe |
| Linux | AppImage (ARM64) | Keyper-1.3.1-arm64.AppImage |
| Linux | AppImage (AMD64) | Keyper-1.3.1-x86_64.AppImage |
| Linux (Debian/Ubuntu) | .deb (x86_64) | keyper_1.3.1_amd64.deb |
| Linux (Debian/Ubuntu) | .deb (ARM64) | keyper_1.3.1_arm64.deb |
Windows quick start:
- Download Keyper.Setup.v1.3.1-win-x64.exe.
- Run the installer and follow the setup wizard.
- Launch Keyper from the Start menu or desktop shortcut.
Linux AppImage quick start:
chmod +x Keyper-1.3.1-x86_64.AppImage./Keyper-1.3.1-x86_64.AppImageLinux .deb quick start:
sudo dpkg -i keyper_1.3.1_amd64.debkeyper # or launch from your applications menuOption 2: Docker (no Node required)
Section titled “Option 2: Docker (no Node required)”Prerequisites: Docker.
Quick Start with Docker Hub (Pre-built Image):
# Run the latest version on port 8080docker run -d -p 8080:80 --name keyper --restart unless-stopped pinkpixeldev/keyper:latestAccess at http://localhost:8080. The container exposes the compiled SPA on port 80 internally. No volumes or environment variables are needed — all configuration (Supabase credentials, Neon connection strings, or SQLite provider selection) is entered in-app and stored in browser localStorage.
With Docker Compose (Local Build):
git clone https://github.com/pinkpixel-dev/keyper.gitcd keyper
# Build and start on http://localhost:8080docker compose up -d
# Custom portHOST_PORT=3030 docker compose up -dOption 3: Global npm install
Section titled “Option 3: Global npm install”Prerequisites: Node.js 18+.
npm install -g @pinkpixel/keyperkeyperOption 4: NPX (no install)
Section titled “Option 4: NPX (no install)”npx @pinkpixel/keyperOption 5: Local repo / development
Section titled “Option 5: Local repo / development”git clone https://github.com/pinkpixel-dev/keyper.gitcd keypernpm installnpm run dev # Vite dev server# ornpm run build && npm start # production previewOption 6: Build Electron installers from source
Section titled “Option 6: Build Electron installers from source”git clone https://github.com/pinkpixel-dev/keyper.gitcd keypernpm install
npm run electron:build:linux # AppImage + debnpm run electron:build:win # NSIS installerFirst run
Section titled “First run”- Open the app URL (default
http://localhost:4173for npm/npx,http://localhost:8080for Docker, or the Electron window). - In the setup wizard, choose your database provider:
- SQLite (Local) — zero-config, no account required; schema is created automatically. In browser/PWA mode it persists locally in IndexedDB. In Electron it can also target a file on disk.
- Supabase — enter your Supabase URL and anon/publishable key, then run the SQL setup script to create required tables/policies. Existing users should also run
migration-add-document-misc-types.sqlto enabledocumentandmisccredential types. - Neon Postgres — enter your Neon Cloud or Neon Local Docker connection string, then run
sql/neon-setup.sqlto create required tables/policies.
- Return to the app, test connection, and save.
- Unlock or initialize your vault using your master passphrase.
- For additional users:
- Supabase — each person signs up with their own email from the sign-in screen.
- SQLite / Neon — enter a different username on the unlock screen; each one gets its own vault and passphrase.
- To switch later: on Supabase, sign out and sign in as that account. On SQLite and Neon, change the username on the unlock screen, then unlock with that vault’s passphrase.
Verify health
Section titled “Verify health”npm run test:runnpm run buildBoth commands currently pass on the audited codebase.