Start chatting
today
The web client opens in any browser, the server spins up with a couple of commands, and the open API is ready for your mobile apps. Pick your path.
Whatever suits you best
From "click and chat" to full control over your infrastructure.
In the browser
Nothing to install: the web client works on desktop and on your phone. Open it — and you're already in the chat.
desktop · mobile webYour own server
Python and PostgreSQL — that's the whole stack. Four steps, and the messenger lives on your machine, with your data staying yours alone.
python · postgresql · :8070Mobile apps
Native clients are built on the open API — auth, chats, calls and media are documented for development teams.
REST · WebSocket · WebRTCServer setup
The database schema creates itself, the admin account is already inside. All you need is four steps.
Prepare the environment
Python 3.11+ and a running PostgreSQL. Nothing else — no Docker, no Kubernetes required.
Install dependencies
pip install -r requirements.txt — one command, and everything is ready to launch.
Configure .env
Point it at your PostgreSQL database. The table schema deploys itself on first start.
Launch with HTTPS
python run.py --ssl — then open https://your-host:8070. A certificate for calls is generated automatically.
Requirements
Altgram has a modest appetite — even a small VM will do.
| Component | Requirement |
|---|---|
| Python | 3.11 or newer |
| PostgreSQL | 14 or newer — the DB schema is created automatically |
| RAM | 1 GB and up |
| Disk | for your files and media — size it to your team's volume |
| Port | 8070 TCP |
| HTTPS | required for calls and camera access — a self-signed certificate is generated automatically |
Developer API
Versioned REST at /api/v1 plus WebSocket events: 7-day JWT tokens, multipart media uploads. The server ships with MOBILE_API.md and API_CONTRACT.md covering everything, and interactive Swagger lives at /docs.
- JWT authorizationLogin, refresh, and session listing with revocation — out of the box.
- Realtime over WebSocketMessages, reactions, typing, and online statuses arrive instantly.
- Media uploadsMultipart up to 200 MB: photos with previews, video, audio, documents.
- WebRTC signalingEverything for 1:1 calls and conferences — including invites by link.
Android and iOS
Honestly: there are no store apps yet. But the API is open and documented — your team can build a native client on the stack they already know.
Android
Kotlin + OkHttp/Retrofit for REST and WebSocket, the official WebRTC SDK for calls — it all maps cleanly onto the Altgram API. MOBILE_API.md walks you from login to signaling.
Kotlin · Retrofit · WebRTC SDKiOS
Swift + URLSession for networking and WebRTC.framework for audio and video calls. JWT auth, multipart uploads, and WebSocket events are all spelled out in the API contract — no surprises.
Swift · URLSession · WebRTC.frameworkDeploy your Altgram today
Five minutes, and your team has a messenger that answers to no one. Or start right now in your browser.