سرور انسٹال
OpenKey Server optional zero-knowledge sync API ہے۔ یہ صرف ciphertext store کرتا ہے تاکہ آپ اپنے devices میں vaults sync کر سکیں۔ Master passwords اور plaintext vault keys کبھی client نہیں چھوڑتے۔
Requirements
- Docker and Docker Compose (recommended)، یا Python 3.12+ PostgreSQL 16 کے ساتھ
- Strong
JWT_SECRET(کم از کم 32 characters، placeholder نہیں)
Docker سے install
cd openkey_server
cp .env.example .env
openssl rand -hex 32 # paste into JWT_SECRET in .env
docker compose up --build -dHealthy ہونے پر:
| URL | Purpose |
|---|---|
http://localhost:8000 | API base |
http://localhost:8000/docs | OpenAPI docs |
http://localhost:8000/health | Health check |
Schema migrations API startup پر automatically (alembic upgrade head)۔
Important configuration
| Variable | Notes |
|---|---|
JWT_SECRET | Required. Min 32 chars؛ startup پر placeholders rejected |
DATABASE_URL | Async Postgres URL (Compose db service کے لیے set) |
CORS_ORIGINS | Comma-separated origins — no * |
ACCESS_TOKEN_EXPIRE_MINUTES | Short-lived access JWT (default 15) |
REFRESH_TOKEN_EXPIRE_DAYS | Opaque refresh token TTL (default 7، use پر rotated) |
AUTH_RATE_LIMIT_* | Auth endpoints پر per-IP limits |
Production کے لیے: API HTTPS کے پیچھے رکھیں، unique JWT_SECRET set کریں، CORS_ORIGINS clients تک restrict کریں۔
پروڈکشن HTTPS
Full Caddy / nginx examples: English · العربية.
Put the API behind TLS, set a unique JWT_SECRET, and restrict CORS_ORIGINS (never *). Point clients at https://your.domain and check /health.
اپنے clients connect کریں
ہر client same server URL پر point کریں (local Docker: http://localhost:8000، یا public HTTPS URL)۔
OpenKey app (phone / desktop)
Official store یا download channel سے official OpenKey app install کریں۔
- Master password سے local vault unlock یا create کریں۔
- Settings → Data → Self-hosted server کھولیں۔
- Server URL enter کریں (example:
https://openkey.example.com)۔ - Register (پہلا device) یا Login (دوسرا device جس میں یہ vault account ہے)۔
- Ciphertext pull/push کے لیے Sync now tap کریں۔
App local encrypted database رکھتا ہے۔ Sync صرف opaque ciphertext exchange کرتا ہے۔ مزید: ایپ کا استعمال۔
Browser extension
openkey_extensionbuild اور load (npm install && npm run build، پھرdist/load)۔- Extension Options کھول کر same server URL set کریں۔
- Same email + master password سے unlock (extension
/auth/preloginپھر login)۔
Desktop bridge (optional): OpenKey desktop app unlock کریں، native messaging host register کرنے Autofill enable کریں، پھر extension میں «Use desktop app» choose کریں۔ Separate extension unlock کے بغیر fill/save unlocked app سے ہو سکتا ہے۔
CLI
openkey config set-server http://localhost:8000
openkey login --email [email protected]
eval $(openkey unlock)
openkey syncServer کے بغیر secrets discovery: CLI (desktop app bridge)۔
Multi-device checklist
- Server ایک بار install اور secure کریں۔
- پہلے device پر: register + sync۔
- ہر نئے device پر: client install → same server URL → same email اور master password → sync۔
- Regular offline backups رکھیں (export / local backup) — بھولا master password server recovery path نہیں۔
اگلا: ایپ کا استعمال · CLI · Security