My question: Plex not claiming SparkBox AI replied: Looking at your Plex logs, I don't actually see a claim error there — the log just shows "Server already claimed" near the top, which means Plex thinks it's already linked to an account. So the "not claiming" behavior you're seeing is probably one of these: 1. It's already claimed but to the wrong account — if you or someone else claimed it before with a different plex.tv login, it'll never prompt for a new claim code again. Fix: sign into plex.tv/web with the account that DID claim it, or reset the server identity. 2. You're hitting an expired claim code — codes from plex.tv/claim expire in ~4 minutes. If you grabbed one and dawdled before pasting it, it's dead. Grab a fresh one right before you use it. 3. You're going to the generic Plex landing page instead of your actual server — that happens when the browser session isn't signed into the account that owns it. Quickest path: click the Plex tile in the SparkBox dashboard and use the "Claim your Plex server" popup — paste a fresh code from https://plex.tv/claim right into it. That handles it without SSH. If that popup still says already claimed and it's not your account, tell me and we'll sort out resetting the claim. Full walkthrough here if you want it: https://tomsparkbox.com/guides/plex-setup What I still need help with: (describe what didn't work or what's still broken) I followed the below guide and was not successful either. https://tomsparkbox.com/guides/plex-setup
18 replies
Chris wrote:
Hi MEllmer — I can help you track down why the claim isn't working. Let me get the diagnostics first. Run this command and paste the output: sudo sparkbox doctor | grep -i plex That will show whether SparkBox sees an issue with your Plex configuration. Once I see what the doctor reports, I can tell you if it's a port conflict, a permissions issue, or something else blocking the claim. What does the doctor output show?
Chris wrote:
MEllmer — sorry, the popup the assistant pointed you to only appears the very first time you open Plex from the dashboard. After that first click it does not come back, so that advice was a dead end for you. It also should not have offered to reset the server's identity: there is no way to do that from SparkBox, and that was our mistake. The route that works without the popup: while signed in to the Plex account you want to own the server, get a fresh code from plex.tv/claim, then within four minutes add PLEXCLAIM=claim-xxxxxxxx to /opt/sparkbox/.env and run sudo sparkbox restart plex. Plex claims itself on that start and ignores the line afterwards. A "Server already claimed" line in the log means it is already linked to some Plex account, and signing in to plex.tv/web with that account will show it. One check: if a fresh code still does not take, the usual reason is that the Plex container itself cannot reach plex.tv (Pi-hole or AdGuard filtering it, or a VPN policy in the way). The sudo sparkbox doctor output I asked for above has a [Plex Claim Path] section that says exactly that, so please paste that part. We have corrected what the assistant knows about that popup so the next person is not sent to a screen they cannot open. Sorry for the wasted time.
MEllmer wrote:
I have configured the .env file as I believe it should be and still not able to access my plex install. Does it need to go in a specific location on the file? Response from the Sudo Spartbox doctor command. error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
MEllmer wrote:
mellmer@media:/opt/sparkbox$ sudo sparkbox doctor | grep -i plex shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory [Plex Claim Path] job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory [OK] The Plex app can reach plex.tv — claim codes should work (they expire 4 minutes after you generate one, so paste quickly) job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory job-working-directory: error retriev
MEllmer wrote:
my .env file with private information removed. mellmer@media:/opt/sparkbox$ sudo nano .env GNU nano 7.2 .env NEXTCLOUDDBPASSWORD= NEXTCLOUDDBROOTPASSWORD= IMMICHDBPASSWORD= PAPERLESSDBPASSWORD= PAPERLESSSECRETKEY= PAPERLESSADMINPASSWORD= GITEADBPASSWORD= N8NDBPASSWORD= N8NENCRYPTIONKEY= HOMARRSECRETENCRYPTIONKEY= SPEEDTESTAPPKEY=base64:aTJY30pI9/= BOOKSTACKDBPASSWORD= BOOKSTACKAPPKEY=base64:= DUPLICATIPASSWORD= FRIGATERTSPPASSWORD= GRAFANAADMINPASSWORD= PHOTOPRISMADMINPASSWORD= GOTIFYADMINPW= FILEBROWSERADMINPW= WEBUISECRETKEY= OLLAMADEFAULTMODEL=llama3.2:3b PHOTOSPATH=/opt/sparkbox/data/photos BOOKSPATH=/opt/sparkbox/data/books MANGAPATH=/opt/sparkbox/data/manga MATRIXSERVERNAME=matrix.sparkbox.local --- VPN (fill in via Settings to use media module) --- VPNPROVIDER=surfshark VPNTYPE=wireguard VPNUSER= VPNPASSWORD= WIREGUARDPRIVATEKEY= WIREGUARDADDRESSES=10.14.0.2/16 WIREGUARDMTU= VPNENDPOINTIP= VPNENDPOINTPORT= OPENVPNCUSTOMCONFIG= SERVERCOUNTRIES=United States SERVERCITIES=Chicago SERVERHOSTNAMES= --- Remote access (fill in to use tailscale module) --- TSAUTHKEY= WGHOST=localhost WGPASSWORDHASH= --- Linkding admin (auto-generated; Linkding creates this user on first boot) --- LINKDINGADMINUSER=admin LINKDINGADMINPASSWORD= NPMADMINPASSWORD= SBADMINPASSWORDHASH= VPNDOT=on VPNUPDATERPERIOD=360h USENETPORT=563 USENETSSL=true USENETCONNECTIONS=20 MEDIASTACKNOVPN=0 SBINSTALLID=010501d5-e458-42ad-921e-04da55f92a78 SBLICENSEKEY=SB-PRO-HP9AE0QE-B9Q7D1KZ CLOUDFLARETUNNELTOKEN= JELLYFINVERSION=12.0 NPMADMINEMAIL=
MEllmer wrote:
mellmer@media:/opt/sparkbox$ sudo sparkbox doctor | grep -i plex [Plex Claim Path] [OK] The Plex app can reach plex.tv — claim codes should work (they expire 4 minutes after you generate one, so paste quickly) [OK] sb-plex has /dev/dri attached
Chris wrote:
Great — the doctor shows Plex has connectivity to plex.tv, so the issue isn't network-related. If the claim code still isn't working, try these steps: 1. Refresh your browser and clear the Plex page (Ctrl+Shift+R or Cmd+Shift+R to clear cache). 2. On the Plex web interface at your SparkBox address, go to Settings → Remote Access and try the claim process again — the code should activate within a few seconds. 3. If it still fails, the claim code may have expired (they last 4 minutes). Refresh the claim page in Plex and try with a fresh code. Let me know how it goes!
MEllmer wrote:
none of this has been a success. I see in the logs the server is claimed already but not showing up in my account. 2026-09-16T20:33:58.709521104Z Server already claimed
Chris wrote:
MEllmer — "Server already claimed" means Plex is linked to a Plex account, just not the one you want to own it. Here's the path forward: Sign into plex.tv/web using the Plex account that originally claimed the server (the one that was used when the server first connected to plex.tv). Once you're in with that account, you should see the server listed in your libraries. If you don't recognize that account, it may have been set up with a different email. If you no longer have access to that original account and want to reset the Plex server identity, the only way is to remove and reinstall the Plex container — this will reset it as unclaimed. Let me know if you'd like to go that route or if you can locate the original account.
MEllmer wrote:
After fresh install, even using the clean slate option, I am now prompted with a page stating unauthorized. steps I did to reproduce. 1. click clean slate for plex. 2. install plex. 3. load 192.168.1.30:32400 4. log in with credentials. 5. I am met with a Not authorized page Im sorry I keep having issues this does not seem to be that difficult of a process.
Chris wrote:
MEllmer — thanks for the update. The "Not authorized" page after a fresh install is a different issue from the claiming problem, and I want to make sure we get the right diagnostics. After the Clean Slate + fresh install, when you see that page at 192.168.1.30:32400, try these two checks: 1. Check whether the Plex container is actually running: sudo docker ps | grep plex 2. Grab a snippet of the Plex logs to see what's happening at startup: sudo sparkbox logs plex | tail -50 Paste both outputs. That will tell us whether Plex is starting correctly or hitting an error internally. If the container is running but the page says "Not authorized", it might be a setup step after the container boots — Plex sometimes has a first-time setup screen before it's ready to claim. If the container isn't running or is crash-looping, that's a different issue we can track down. Let me know what the logs show.
MEllmer wrote:
1. mellmer@media:~$ sudo docker ps | grep plex [sudo] password for mellmer: b652f5aa384d lscr.io/linuxserver/plex:1.43.4 "/init" 25 minutes ago Up 25 minutes (healthy) 1900/udp, 5353/udp, 32410/udp, 8324/tcp, 32412-32414/udp, 32469/tcp, 0.0.0.0:32400-32400/tcp, [::]:32400-32400/tcp sb-plex 2. mellmer@media:~$ sudo sparkbox logs plex | tail -50 Connection to localhost (127.0.0.1) 32400 port [tcp/] succeeded!
Chris wrote:
MEllmer — the log output you showed is just a single connectivity test, not the full startup logs. Let me get more complete information. Run this command: sudo sparkbox logs plex --tail 200 Paste the output. I'm looking for any error, warn, or failed lines, and lines showing the server Starting or Running status. While you get those logs, also try refreshing your browser at 192.168.1.30:32400 a couple times. Sometimes Plex takes a minute after the container becomes healthy before the web interface fully loads. If a refresh helps, that tells us it just needs a moment to initialize. Let me know what those logs show.
MEllmer wrote:
mellmer@media:~$ sudo sparkbox logs plex --tail 200 [sudo] password for mellmer: [migrations] started [migrations] no migrations found ─────────────────────────────────────── ██╗ ███████╗██╗ ██████╗ ██║ ██╔════╝██║██╔═══██╗ ██║ ███████╗██║██║ ██║ ██║ ╚════██║██║██║ ██║ ███████╗███████║██║╚██████╔╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ Brought to you by linuxserver.io ─────────────────────────────────────── To support LSIO projects visit: https://www.linuxserver.io/donate/ ─────────────────────────────────────── GID/UID ─────────────────────────────────────── User UID: 1000 User GID: 1000 ─────────────────────────────────────── Linuxserver.io version: 1.43.4.10903-e5521bd8c-ls324 Build-date: 2026-09-10T19:47:11+00:00 ─────────────────────────────────────── creating group group1rvh with id 993 adding /dev/dri/renderD128 to group group1rvh with id 993 adding /dev/dri/card0 to group video with id 44 Server is unclaimed, but no claim token has been set Docker is used for versioning skip update check [custom-init] No custom files found, skipping... Starting Plex Media Server. . . (you can ignore the libusbinit error) Connection to localhost (127.0.0.1) 32400 port [tcp/] succeeded! [ls.io-init] done. Critical: libusbinit failed I see it says its not claimed however when I launched plex the first time I entered the claim code in the screeen requesting it.
Chris wrote:
MEllmer — that log message is interesting because you said the server shows "Server already claimed" at the top. Let me clarify what's happening. That log line means the Plex container started without a PLEXCLAIM token set in the .env — which is expected behavior after you added it (the container claims itself once on startup with the token, then ignores the line afterwards). The real test is whether the claim took. After the fresh install, try this: 1. Check whether Plex is fully running and has claimed itself: run sudo sparkbox logs plex | grep -i claim and paste back what it shows. 2. Go to plex.tv/web and sign in with the Plex account you want to own this server. If the server shows up in your account, the claim worked. If it still says "Server already claimed" and the server is not there, the claim went to a different account. Let me know what the grep shows and whether you see the server in your plex.tv account now.
MEllmer wrote:
I went ahead and ran a clean slate one more time. installed Plex. Waited 10 minutes then clicked the plex Icon from the homepage of sparkbox. This prompted me for a claim code which i entered and the system recreated the container. I then was able to properly see the server in my plex account. thanks for the support and sorry for being a hassle.
Chris wrote:
Excellent — that confirms the fresh claim flow completed successfully and the server is now linked to the correct Plex account. You did not need to change anything else. Thanks for confirming the exact path that worked.
Chris wrote:
One security note: that excerpt still contains sensitive-looking licence and key material. Please edit comment 7134 to remove those values, and rotate any non-empty credentials or keys that were exposed. I won't repeat the values here. The Plex claim itself is resolved; this is only to protect the account and box.