Frequently Asked Questions
General
- What media servers does Tracearr support?
- Is Tracearr free?
- Can I import data from Tautulli or Jellystat?
Installation
Troubleshooting
- Tracearr can’t connect to my media server
- Disabling IPv6 in Docker
- Sessions aren’t being tracked
- I don’t see any location data / Everything shows as local
- The location data is wrong / IP geolocation is inaccurate
- How do I reset my Tracearr password?
- Server Resources is empty
Data & Maintenance Jobs
- I see inconsistent device names
- I see both “US” and “United States” in my country data
- My imported Tautulli sessions show 0% progress
- Users show “Never” for last activity
- My Library Growth charts are empty
- My analytics numbers look wrong or charts show gaps
- A job says “already running” but I don’t see any progress
General
What media servers does Tracearr support?
Tracearr supports Plex, Jellyfin, and Emby. You can monitor multiple servers of different types from a single Tracearr instance.
Is Tracearr free?
Yes, Tracearr is free and open source under the AGPL-3.0 license.
Can I import data from Tautulli or Jellystat?
Yes, Tracearr supports importing historical data from both Tautulli and Jellystat.
Installation
What are the system requirements?
- Docker and Docker Compose (recommended)
- 1GB RAM minimum (2GB recommended)
- PostgreSQL/TimescaleDB for the database
- Redis for caching
Can I run Tracearr without Docker?
While Docker is recommended, you can run Tracearr directly with Node.js 20+. See the GitHub repository for manual installation instructions.
Troubleshooting
Tracearr can’t connect to my media server
- Verify your server URL is correct and accessible from Tracearr
- Check that your API key/token is valid
- Ensure there are no firewall rules blocking the connection
- Check the Tracearr logs for specific error messages
- Try Disabling IPv6 in Docker
Disabling IPv6 in Docker
If you get “cannot reach [Plex/Emby/Jellyfin] server … fetch failed” when adding your media server
This is commonly caused by IPv6 resolution issues inside the Docker container. If your media server’s hostname resolves to an IPv6 address but the network path doesn’t fully support IPv6, the connection will fail.
To fix this, disable IPv6 inside the Tracearr container by adding sysctls to your Docker Compose file:
services:
tracearr:
image: ghcr.io/connorgallopo/tracearr:latest
# ... your existing config ...
sysctls:
- net.ipv6.conf.all.disable_ipv6=1After adding this, recreate the compose stack:
docker compose -f your-compose-file.yml down
docker compose -f your-compose-file.yml up -dThis forces the container to use IPv4 only, which resolves the issue in most cases.
Sessions aren’t being tracked
- Verify the server connection is active in Settings → Servers
- Check that polling is enabled for the server
- Start a playback session and wait for the next poll interval
I don’t see any location data / Everything shows as local
Note: Local streams (those originating from your home network) will never show location data — this is expected behavior. Geolocation only applies to remote streams from outside your network. If your remote streams are showing as “local” or missing location data, continue reading.
Tracearr uses client IP addresses reported by your media server to determine geolocation. If remote sessions show as “local” or have no location data, your media server isn’t seeing the real client IPs — usually because a reverse proxy is in front of it.
Two things need to be configured:
-
Your reverse proxy must forward the real client IP via headers (
X-Forwarded-For,X-Forwarded-Proto,X-Forwarded-Host) -
Your media server must be configured to trust those headers:
- Jellyfin: Add your reverse proxy’s IP to Settings → Networking → Known Proxies
- Emby: Add your reverse proxy’s IP to Settings → Networking → Known Proxies
- Plex: Generally handles this automatically, but check Settings → Network → List of IP addresses and networks that are allowed without auth
See the Jellyfin reverse proxy documentation for detailed configuration examples for Nginx, Caddy, Apache, Traefik, and more. The reverse proxy concepts apply to all media server types.
Quick checklist:
- Reverse proxy sets
X-Forwarded-Forto the client’s real IP - Media server’s “Known Proxies” includes your reverse proxy’s IP address
- For Docker setups, ensure the proxy sees real client IPs (not Docker network IPs)
The location data is wrong / IP geolocation is inaccurate
IP-based geolocation is inherently imprecise. Here’s why:
- ISPs assign IPs regionally, not by exact address — your IP might be registered to a city 50+ miles away
- Mobile carriers and VPNs often show locations far from the actual user
- IP databases are updated periodically, so recently reassigned IPs may show old locations
- Some ISPs route traffic through central hubs, making all users appear in one location
- CGNAT (Carrier-Grade NAT) — Many ISPs, especially mobile carriers, use CGNAT where thousands of customers share the same public IP address. This means the IP geolocates to the carrier’s infrastructure (often a data center), not the user’s actual location. CGNAT is increasingly common as IPv4 addresses become scarce.
How Tracearr handles geolocation:
By default, Tracearr uses the MaxMind GeoLite2 database locally — all IP lookups happen on your server and no data is sent externally. This keeps your users’ IP addresses private.
Enhanced GeoIP option:
In Settings → General, you can enable “Enhanced GeoIP Lookup”. When enabled, Tracearr sends IP addresses to Plex’s GeoIP service (plex.tv/api/v2/geoip) which may return more accurate results. This works for all media servers, not just Plex. The local MaxMind database is used as a fallback.
| Option | Privacy | Accuracy |
|---|---|---|
| Default (MaxMind) | All data stays local | Good for most cases |
| Enhanced | IPs sent to plex.tv | Potentially more accurate |
Bottom line: IP geolocation will never be as accurate as GPS. It’s best used for detecting general regions and impossible travel scenarios, not pinpointing exact addresses.
How do I reset my Tracearr password?
You can reset your password using the built-in CLI script. No access to the web UI is required.
This resets the password for your Tracearr user account, not your media server accounts.
It will not work if you are using external authentication (e.g., Plex Sign-In) since those users don’t have local passwords.
Docker
# Interactive mode (you will be prompted to enter a new password)
docker exec -it tracearr node apps/server/scripts/reset-password.ts
# Non-interactive mode (sets password to "newpassword123")
docker exec -it tracearr node apps/server/scripts/reset-password.ts newpassword123Server Resources is empty
The Server Resources panel (CPU, memory, and transcoder metrics) is only available for Plex and requires Plex Pass. Plex’s resource monitoring API is a Plex Pass feature, and Tracearr currently does not detect whether your account has Plex Pass.
If you’re using Jellyfin or Emby, this section will not be displayed as these servers do not expose resource metrics through their APIs.
Data & Maintenance Jobs
Tracearr includes maintenance jobs in Settings → Jobs to fix common data issues.
I see inconsistent device names like “AndroidTV”, “Android TV”, and “NVIDIA Shield”
Run Normalize Players in Settings → Jobs. This standardizes device and platform names so they group correctly in charts and filters.
I see both “US” and “United States” in my country data
Run Normalize Countries in Settings → Jobs. This converts full country names to standard codes so your world map and country filters work properly.
My imported Tautulli sessions show 0% progress
Run Fix Imported Progress in Settings → Jobs. This recalculates progress values for imported sessions that have duration but missing progress data.
Users show “Never” for last activity even though they have watch history
Run Backfill User Dates in Settings → Jobs. This scans session history to populate the first seen and last activity timestamps.
My Library Growth charts are empty or missing historical data
Run Backfill Library Snapshots in Settings → Jobs. This generates historical data points from your library items.
My analytics numbers look wrong or charts show gaps
Run Full Aggregate Rebuild in Settings → Jobs. This recalculates all statistics from scratch.
A job says “already running” but I don’t see any progress
Go to /debug (e.g., http://your-tracearr:3000/debug) and click Clear Stuck Jobs. A previous job crashed and left stale state.