16. Troubleshooting Guide
Quick diagnostic guide to identify and resolve common issues with docker-rtmp-multistream.
16.1 Quick Diagnostics
Work through these checks in order. Stop at the first one that fails.
-
Is the container running?
If the status is not
Up, see Container Won't Start. -
Can OBS connect? If OBS reports that it cannot connect, check whether the relay refused it:
If there is output, see IP Authentication. If not, see Cannot Connect from OBS.
-
Is each service enabled?
If a service shows
SkippingorERROR, see Service Not Enabled for Twitch or YouTube. -
Does the stream appear on each platform? If not, see Stream Not Appearing for Twitch or YouTube.
-
Are archive files being written? If not, see Archive Not Recording.
16.2 Common Issues by Category
16.2.1 Connection Problems
Can't connect to the relay or container won't start.
Symptoms: - Container exits immediately - OBS shows "Failed to connect to server" - Port not accessible
16.2.2 Service-Specific Problems
Stream works but doesn't appear on specific platforms, or archive not recording.
Symptoms: - OBS shows streaming but nothing on Twitch/YouTube - Archive directory empty - Service configuration errors
→ Service Troubleshooting: Twitch | YouTube | Archive
16.3 General Debugging
16.3.1 View Container Logs
# All logs
docker compose logs relay
# Follow logs in real-time
docker compose logs -f relay
# Last 100 lines
docker compose logs --tail=100 relay
# Filter for errors
docker compose logs relay | grep -i error
16.3.2 Check Service Status
Verify which services are enabled:
Each enabled service prints one line, for example:
Twitch Non-Partner configuration complete, and service enabled.
YouTube configuration complete, and service enabled.
Archive configuration complete, and service enabled.
A service that is not configured prints a skip line instead, and the relay keeps running without it:
TWITCH_KEY is not set. Skipping Twitch configuration.
YOUTUBE_KEY is not set. Skipping YouTube configuration.
ARCHIVE_PATH is not set. Skipping Archive configuration.
An invalid value stops the container. An ERROR: line names the variable, followed by the script that stopped, for example:
ERROR: TWITCH_PARTNER must be TRUE or FALSE (case insensitive).
[!] pre-init.d - 90_configure_twitch.sh failed. Stopping container.
To fix it, see Invalid Environment Value.
16.3.3 Test Configuration Syntax
Should show: nginx: configuration file /etc/nginx/nginx.conf test is successful
16.3.4 Check Active Configuration
Look for uncommented include directives for enabled services.
16.4 Getting Help
If you're still experiencing issues:
- Check existing issues: GitHub Issues
-
Gather information. These commands replace your stream keys with
REDACTED, but read both files before you share them: -
Open a new issue with:
- Clear description of the problem
- Steps to reproduce
logs.txtandconfig.txt- System information
16.5 See Also
- Architecture - Understand how the system works
- Quality Optimization - Optimization guidance
- Configuration - Setup details
- Security - What the relay protects, and what it does not