Fork of sodema/mediawiki-ldap with additional configuration options and extensions
Go to file
2025-01-13 16:04:24 -05:00
build Updated to 1.39 2025-01-13 16:04:24 -05:00
.gitignore Initial Commit 2022-11-28 13:27:43 +00:00
docker-compose.yml Update docker-compose.yml 2022-11-28 14:29:52 +01:00
example.env Initial Commit 2022-11-28 13:27:43 +00:00
README.md Update README.md 2024-12-06 09:24:54 -05:00
run_install.sh Initial Commit 2022-11-28 13:27:43 +00:00

mediawiki-extended

The goal of this container is to have an easily deploayble mediawiki with the extensions for LDAP already integrated.

Features

  • Based on https://github.com/sodema/mediawiki-ldap
  • A docker-compose file to run directly
  • integrated LDAPAuthentication2, LDAPAuthorization, LDAPGroups, LDAPProvider, LDAPSyncAll, LDAPUserInfo, PluggableAuth, Auth_remoteuser from official Mediawiki git
  • All LDAP related settings are handled via .env file
  • Custom LocalSettings.LDAP.php which includes all the tweaks for connecting to LDAP
  • One-Klick installer / doensn't use the web based installation procedure
  • persistent volumes, so you can edit LocalSettings.php & LocalSettings.LDAP.php
  • Also includes ExternalData, Cite, Cargo, Math, and PageForms extensions

Usage

git clone https://gitea.eom.dev/DevOps/mediawiki-extended.git
cd mediawiki-extended
docker build build/. -t mediawiki-extended:latest
mv example.env .env
(vi/nano/???) .env
(vi/nano/???) docker-compose.yml
docker-compose up -d
docker logs -f mediawiki-db
docker logs -f mediawiki-app
./run_install.sh

Instead of building yourself you can also just docker pull ericomeehan/mediawiki-extended:latest

Environment Variables

These are the variables that need to be set:

LDAP_BASE=dc=yourdomain,dc=local                                  # BASE DN
LDAP_SERVER_NAME=ldap.yourdomain.local                            # FQDN of your LDAP server
LDAP_SERVER_PORT=9636                                             # Port of your LDAP server
LDAP_DOMAINNAME=yourdomain.local                                  # Name of your domain
LDAP_ENCTYPE=ssl                                                  # Encryption type 'ldapi', 'ssl', 'tls', or 'clear'
LDAP_USER_ATTR=uid                                                # Attribute to identify user 'uid' or 'cn'
LDAP_BIND_USER="uid=readonly,cn=users,dc=yourdomain,dc=local"     # User to bind to LDAP
LDAP_BIND_PASS="SecretBindPassword"                               # Bind Password
LDAP_SEARCH_FILTER="(&(objectClass=inetOrgPerson))"		  # Search filter
LDAP_MAIL_ATTR=mail						  # Email attribute
LDAP_REAL_NAME_ATTR=givenName					  # First name attribute
LDAP_BUREAUCRAT_GROUP="cn=bureaucrat,ou=groups,dc=example,dc=com" # Bureaucrat group mapping
LDAP_INTERFACE_ADMIN_GROUP="cn=admin,ou=groups,dc=example,dc=com" # Interface admin group mapping
LDAP_SYSOP_GROUP="cn=sysop,ou=groups,dc=example,dc=com"		  # Sysop group mapping
DB_HOST=mediawiki-db                                              # Hostname of DB server
DB_PORT=3306                                                      # DB server Port
DB_NAME=mediawiki                                                 # Name of your Wiki DB
DB_USER=mediawiki                                                 # DB User
DB_PASS=SecretDBPass                                              # DB Password
WIKI_NAME=Yourdomain_Wiki                                         # Name of your wiki
WIKI_ADMIN=Admin                                                  # Username of local admin (local login must be enabled first)
WIKI_ADMIN_PASS=ChangeMe2022!                                     # Password for local admin
WIKI_URL=https://wiki.yourdomain.local                            # URL and Protocol where your Wiki sits (if behind reverse proxy choose https)
WIKI_LANG=de                                                      # Language for your wiki