coturn
Coturn TURN Server is a VoIP media traffic NAT traversal server and gateway.
Platform availability
Available on 2 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
82/100 Excellent
- Maintained
- 100last commit 7 days ago
- Popular
- 8314,461 GitHub stars
- Easy to install
- 452 install platforms, install notes, Docker image
- Light to run
- No data
Based on 3 of 4 factors.
Availability: platform listings confirmed today, links checked 13 days ago
- GitHub stars
- 14,461
- Open issues
- 309
- Last commit
- 2026-10-06
- Latest release
- docker/4.18.0-r0
- Activity
- declining
Checked 6 days ago - source: GitHub (coturn/coturn)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is not supported.
Checked 14 days ago - source: Docker Hub image tags and published docs
First-install notes
- Install and start with visible logs After installing with apt, start coturn using turnserver --log-file stdout so startup messages appear on the console. If it fails to bind, lacks permissions, or cannot find a database, you will only see why in those logs. source
- Point coturn to a user database If you want username and password logins, start turnserver with a database option such as --db=/var/db/turndb for SQLite. Without a database, coturn has nowhere to check user accounts, so those logins will fail. source
- Keep MySQL login strings private If you use MySQL, the --mysql-userdb string includes a database password and user account. Keep that command or configuration file private, because anyone with it can read or change the TURN user data. source
Fetched 14 days ago - each note links to its source
Variants
Alternatives
No alternatives collected yet.
Common questions
Which ports should be exposed when running coturn in Docker?
Expose 3478 and 5349 over TCP and UDP. Also expose UDP 49152-65535 for relayed media.
How can I see coturn startup messages after installing it with apt?
Start turnserver with --log-file stdout. The logs show bind failures, permission problems, and missing database errors.
What database option is needed for username and password logins?
Start turnserver with a database option such as --db=/var/db/turndb for SQLite. Without a database, username and password logins fail.
Is the MySQL user database string sensitive?
The --mysql-userdb string includes a database password and user account. Keep that command or configuration file private because it can be used to read or change TURN user data.
Answers sourced from github.com, github.com, github.com, github.com
Community
- coTurn Docker Setup : r/selfhosted - Reddit (reddit)
- Coturn - where is the documentation? : r/selfhosted - Reddit (reddit)
- Coturn help needed : r/selfhosted - Reddit (reddit)
- Need help setting up a coTURN server : r/selfhosted - Reddit (reddit)
- Turn server : r/selfhosted - Reddit (reddit)
Collected 13 days ago - public community threads