An LDAP server that uses Plex as the provider.
I've tested this using http://booksonic.org/ and JXPlorer. It is very basic at the moment but is working for basic things. I haven't got many LDAP supported services so haven't been able to test it any further.
If the project gets some traction more features could be added. Due to the way ldapjs works it should be possible to add support for changing passwords, usernames and various other things too.
This LDAP server does not currently require authentication to preform queries so I suggest you don't expose the server externally.
These steps assume you have NodeJS and NPM installed.
- Clone this GitHub project.
- Run
npm install
Once you've finished the above steps, run npm start
and wait for the config to generate, edit the config/options.json
file and add your plexToken, plexMachineId and plexServerName, you can change the rest if you want.
Now you should be able to run npm start
and your server will start.
There's a docker available here
You can use it like this:
docker run \
--name='LDAP_for_Plex' \
--net='bridge' \
-e 'TOKEN'='YOURPLEXTOKEN' \
-e 'MACHINEID'='YOURMACHINEID' \
-e 'SERVERNAME'='YOURSERVERNAME' \
-p 2389:2389 \
starbix/plex-ldap
LDAP URL: ldap://localhost:2389/ou=users,o=plex.tv
LDAP Search Filter: (cn={0})
The settings are explained here
Reportedly working as of 4.1.0.1 beta
LDAP server url "192.168.1.1"
User search base "OU=users,O=plex.tv"
User search filter "(CN={0})"
all other settings blank/default
Reportedly working as of 10.3.2
LDAP Server: your ip such as 192.168.1.1
Use SSL NO
LDAP Base DN: OU=users,O=plex.tv LDAP Attributes: uid, cn, mail, displayName, email LDAP User Filter: (objectclass=Plex.tv User) LDAP Admin Filter: (enabledService=JellyfinAdministrator) LDAP Bind user: uid=12345678, ou=users, o=plex.tv
Note: you need to obtain your uid via plex or by user ldapsearch. Jellyfin won't do anonymous LDAP searches, but it can log in as any user as long as you use the user's password.