● Start · What you need
Requirements
small server, own accounts.
What must be in place before you install, and what is optional.
01Server and software
| What | Minimum | Notes |
|---|---|---|
| Node.js Required | 20.12 or newer (22 LTS recommended) | The app loads .env with process.loadEnvFile, which exists from Node 20.12. Tested on Node 22.22.2. |
| Package manager | pnpm (recommended) or npm | The release ships pnpm-lock.yaml, so pnpm installs the exact tested versions. |
| Server | 1 vCPU, 1 GB RAM VPS | Ubuntu 22.04 or 24.04 is assumed in these docs. No database server: all data lives in SQLite files. |
| Domain + TLS | A domain or sub-domain you control | Point an A record (and AAAA with IPv6) at the server. Caddy gets a free certificate automatically. |
| Outbound internet | HTTPS | Binance and Bybit (prices), OpenTimestamps calendars, and Stripe, Telegram and Discord when used. |
| Build tools | for better-sqlite3 | Only if no prebuilt binary exists: macOS xcode-select --install; Ubuntu build-essential python3. |
02Optional accounts
| Account | What it enables |
|---|---|
| Stripe | Card payments for subscriptions, Provider Pro and verification fees. |
| A bank account | Bank-transfer payments you confirm by hand. |
| Stablecoin wallets you control | USDT or USDC on Tron, Ethereum, Base, BNB Chain, Polygon or Arbitrum, confirmed by hand. |
| Telegram bot | Account linking, signal delivery, VIP groups, publishing from Telegram. |
| Cloudflare (or a GeoIP proxy module) | Country blocking by a request header. |
The site runs without all of them. Web push notifications need no account: the server makes its own keys. Discord delivery uses a webhook each provider pastes in the Studio.
03Ready checklist
node -vshows v20.12 or higher.- Your domain points at the server; ports 80 and 443 are open.
- You have read your responsibilities: signal services are regulated in some countries.