Skip to content

sness23/dockvision

Repository files navigation

DockVision

Open-source, CLI-shaped web platform for running modern protein-ligand docking and co-folding tools (GNINA, Boltz-2, Protenix, and more) on serverless GPUs, with transparent per-second pricing.

Built for the scientist who already lives in a shell. CASP-aware from day one.

Why

Existing platforms (Neurosnap, Tamarind) hide their per-run cost behind credit systems and bundle "unlimited" storage that isn't actually unlimited. DockVision shows you the real RunPod cost, marks it up transparently (1.5×), and bills you for exactly the bytes you store. The base platform is AGPL-3.0 — self-host if you want to, pay providers directly, no DockVision markup.

The hosted instance at dockvision.doi.bio exists for users who want one-click signup, no infra, and a paid 1.5× ergonomics premium over self-hosting.

Stack at a glance

Layer Choice
Frontend SvelteKit (Svelte 5) + xterm.js + Mol*
Auth Auth.js (SvelteKit) — email + OAuth, sessions in Postgres
DB Postgres on www0
Object store AWS S3
Billing Stripe Billing + prepaid balance row
Compute RunPod Serverless Endpoints (one per tool)
MSA Self-hosted MMseqs2 + ColabFold DB on www0
Job queue pg-boss (Postgres-backed)
Deploy pm2 on EC2 (www0)

Docs

Local dev

Requires Node 22+ and a Postgres 14+ instance.

# 1. install
npm install

# 2. configure env
cp .env.example .env
# edit .env: set DATABASE_URL, generate AUTH_SECRET via `openssl rand -base64 32`

# 3. apply migrations
createdb dockvision    # or use your existing instance
npm run migrate

# 4. run
npm run dev            # http://localhost:3000

Auth.js works with email magic links once EMAIL_HOST/EMAIL_FROM are set. Google/GitHub OAuth load conditionally on AUTH_GOOGLE_ID / AUTH_GITHUB_ID being present.

Deploy (www0)

See docs/ARCHITECTURE.md for the pm2 + nginx layout. Process map: dockvision-web (SvelteKit), dockvision-worker (pg-boss), dockvision-recon (reconciliation cron), dockvision-msa (MMseqs2). Config in ecosystem.config.cjs. TLS via nginx.conf.example + Let's Encrypt.

About

Open-source CLI-shaped web platform for protein-ligand docking on serverless GPUs (CASP-aware)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors