This commit is contained in:
Bart Sjerps
2026-06-18 16:16:04 +02:00
parent 1a3156c497
commit bd1f981ccb
2 changed files with 115 additions and 10 deletions
+57
View File
@@ -0,0 +1,57 @@
#
# LAM setup
#
# skip LAM preconfiguration (lam.conf + config.cfg), values: (true/false)
# If set to true the other variables below have no effect.
# LAM_SKIP_PRECONFIGURE=false
# LAM configuration master password and password for server profile "lam"
# Use LAM_PASSWORD_FILE to read the value from a file (e.g. for Docker swarm: docker service create --secret LAM_PASSWORD -e LAM_PASSWORD_FILE=/run/secrets/LAM_PASSWORD ...)
LAM_PASSWORD=lam
# domain of LDAP database root entry, will be converted to dc=...,dc=...
LDAP_DOMAIN=homelab.lan
# LDAP base DN to overwrite value generated by LDAP_DOMAIN
LDAP_BASE_DN=dc=homelab,dc=lan
# LDAP users DN to overwrite value provided by LDAP_BASE_DN
LDAP_USERS_DN=ou=Users,dc=homelab,dc=lan
# LDAP groups DN to overwrite value provided by LDAP_BASE_DN
LDAP_GROUPS_DN=ou=Groups,dc=homelab,dc=lan
# LDAP server URL
LDAP_SERVER=ldap://eagle.lan:389
# LDAP admin user (set as login user for LAM)
# Use LDAP_USER_FILE to read the value from a file (e.g. for Docker swarm: docker service create --secret LDAP_USER -e LDAP_USER_FILE=/run/secrets/LDAP_USER ...)
LDAP_USER=cn=Manager,dc=homelab,dc=lan
# default language, e.g. en_US, de_DE, fr_FR, ...
LAM_LANG=en_US
# run cron jobs (LAM Pro)
LAM_CONFIGURE_CRON=true
# configuration database (files or mysql)
LAM_CONFIGURATION_DATABASE=mysql
# MySQL server if database is mysql
LAM_CONFIGURATION_HOST=pg01.lan
# MySQL port if database is mysql
LAM_CONFIGURATION_PORT=3306
# MySQL user name if database is mysql
LAM_CONFIGURATION_USER=lam
# MySQL password if database is mysql
# Use LAM_CONFIGURATION_PASSWORD_FILE to read the value from a file (e.g. for Docker swarm: docker service create --secret LAM_CONFIGURATION_PASSWORD -e LAM_CONFIGURATION_PASSWORD_FILE=/run/secrets/LAM_CONFIGURATION_PASSWORD ...)
LAM_CONFIGURATION_PASSWORD=lam
# MySQL database name if database is mysql
LAM_CONFIGURATION_DATABASE_NAME=lam
# LAM Pro license (line breaks can be removed)
# Use LAM_LICENSE_FILE to read the value from a file (e.g. for Docker swarm: docker service create --secret LAM_LICENSE -e LAM_LICENSE_FILE=/run/secrets/LAM_LICENSE ...)
LAM_LICENSE=
# deactivate TLS certificate checks, activate for development only
LAM_DISABLE_TLS_CHECK=false
#
# docker-compose only, LDAP server setup
#
# LDAP organisation name for OpenLDAP
LDAP_ORGANISATION=Dirty Cache
# LDAP admin password
LDAP_ADMIN_PASSWORD=secret
# password for LDAP read-only user
LDAP_READONLY_USER_PASSWORD=
+58 -10
View File
@@ -1,17 +1,65 @@
# LDAP Account Manager
services:
lam:
image: ghcr.io/ldapaccountmanager/lam:stable
container_name: lam-app-1
ldap-account-manager:
container_name: lam
build:
context: .
image: ghcr.io/ldapaccountmanager/lam:9.6
restart: unless-stopped
ports:
- "4001:80"
environment:
DEBIAN_FRONTEND: noninteractive
- "8080:80"
volumes:
- lam_data:/var/lib/ldap-account-manager
- lamconfig:/var/lib/ldap-account-manager/config
- lammainconfig:/etc/ldap-account-manager
environment:
- LAM_SKIP_PRECONFIGURE=${LAM_SKIP_PRECONFIGURE:-true}
- LAM_PASSWORD=${LAM_PASSWORD}
- LAM_LANG=${LAM_LANG}
- LDAP_SERVER=${LDAP_SERVER}
- LDAP_DOMAIN=${LDAP_DOMAIN}
- LDAP_BASE_DN=${LDAP_BASE_DN}
- LDAP_USER=cn=admin,${LDAP_BASE_DN}
- LDAP_USERS_DN=${LDAP_USERS_DN}
- LDAP_GROUPS_DN=${LDAP_GROUPS_DN}
- DEBUG=true
# Custom
- LAM_CONFIGURATION_DATABASE=mysql
- LAM_CONFIGURATION_HOST=pg01.lan
- LAM_CONFIGURATION_PORT=3306
- LAM_CONFIGURATION_USER=lam
- LAM_CONFIGURATION_PASSWORD=lam
- LAM_CONFIGURATION_DATABASE_NAME=lam
hostname: ldap-account-manager
ldap:
image: osixia/openldap:latest
container_name: ldap
restart: unless-stopped
ports:
- "389:389"
- "636:636"
environment:
- LDAP_ORGANISATION=${LDAP_ORGANISATION}
- LDAP_DOMAIN=${LDAP_DOMAIN}
- LDAP_BASE_DN=${LDAP_BASE_DN}
- LDAP_ADMIN_PASSWORD=${LDAP_ADMIN_PASSWORD}
- LDAP_READONLY_USER=true
- LDAP_READONLY_USER_PASSWORD=${LDAP_READONLY_USER_PASSWORD}
- LDAP_TLS_CRT_FILENAME=ldap.crt
- LDAP_TLS_KEY_FILENAME=ldap.key
- LDAP_TLS_CA_CRT_FILENAME=ca.crt
- LDAP_TLS_VERIFY_CLIENT=never
command: "--loglevel info --copy-service"
volumes:
- ldap:/var/lib/ldap
- slapd:/etc/ldap/slapd.d
- certs:/container/service/slapd/assets/certs
hostname: ldap
volumes:
lam_data:
name: lam_lam
lamconfig:
lammainconfig:
ldap:
slapd:
certs: