example_configs/duo_auth_proxy.md
To set up DuoAuthProxy with LLDAP, you need to configure the authproxy.cfg file properly.
proxy and select LDAP Proxy.ikey, skey, api_host) for the next step.[main]
log_stdout=true
[ad_client]
host=LLDAP
port=3890
auth_type=plain
bind_dn=uid=svc-duoauthproxy,ou=people,dc=example,dc=com
service_account_username=svc-duoauthproxy
service_account_password=password
search_dn=ou=people,dc=example,dc=com
username_attribute=uid
at_attribute=mail
[ldap_server_auto]
ikey=DIXXXXXXXXXXXXXXXXXX
skey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
api_host=api-XXXXXXXX.duosecurity.com
failmode=secure
client=ad_client
port=1812
exempt_primary_bind=false
exempt_ou_1=uid=svc-duoauthproxy,ou=people,dc=example,dc=com
docker run -d \
--name=DuoAuthProxy \
--network auth \
-v /path/to/authproxy.cfg:/app/conf/authproxy.cfg \
--restart unless-stopped \
minimages/duoauthproxy
You can also choose to host it natively or generate your own image using the official instructions.
This section demonstrates how to connect a service to Duo Auth Proxy, using Jellyfin as an example. You can follow the same approach for other services.
Ensure Jellyfin is set up and added to the auth network:
docker network connect auth jellyfin
Jellyfin requires the LDAP Authentication plugin. Restart Jellyfin after installing the plugin.
DuoAuthProxy1812lldap_password_manager group)uid=svc-duoauthproxy,ou=people,dc=example,dc=compasswordou=people,dc=example,dc=comClick Save and Test LDAP Server Settings to check connectivity.
(uid=*)uid, mailuiduiduserPasswordou=people,dc=example,dc=com(memberof=cn=lldap_admin,ou=example,dc=com)Click Save and Test LDAP Filter Settings to verify user detection.
admin in Test Login NameIf existing users are present, switch their authentication provider to LDAP-Authentication.
Log out and attempt login to verify the new authentication flow. If issues arise, restart Jellyfin and try again.