Prerequisites
You need Node.js 18 or later, and a place to run it. A small VPS, a Raspberry Pi, or a laptop on your network all work. No external services are required for the default install.
Quick start
git clone https://github.com/trycord/.trycord.git
cd .trycord
npm install
cp .env.example .env
node backend/src/server.js
The server starts on port 9971 by default. Open
http://localhost:9971 in your browser to see the app.
Configuration
All settings are available in the Configuration Centre at
/admin/settings once you are signed in as an
administrator. The most important ones:
- Instance name — shown to users and in the browser tab
- Public URL — the address users reach your instance at
- Registration — open, invite-only, or closed
- Mail — for password resets and verification (optional)
Database
SQLite is the default — a single file, zero configuration. MySQL and PostgreSQL are supported for larger deployments. Changing the database is an environment variable, not a different build.
Reverse proxy
For production, put Trycord behind nginx or Caddy with TLS. Set
SERVER_HOST_TYPE=nginx so the server trusts the proxy
headers. The documentation covers proxy
configuration in detail.
Voice and media
Voice is off by default. To enable it, turn on the voice provider
in the Configuration Centre. The in-house STUN/TURN server starts
automatically on port 3478, and no third-party media service is
needed. Open http://localhost:9973/ on the machine
itself to see whether the voice stack is working - the page says
WORKING or NOT WORKING, and says why when it says the second one.
Updating
Pull the latest code, rebuild, and restart. Database migrations run automatically on startup. The changelog records what changed.
Getting help
The documentation covers configuration, theming, the desktop app and the architecture. If you get stuck, open an issue on GitHub or ask on Discord.