Files
breadcrumb-the-shire/docker/php/Dockerfile
fs d1eeac6692 feat: add LDAP authentication as per-tenant login method
Add LDAP as a third authentication option alongside local password and
Microsoft Entra ID SSO. Per-tenant configuration supports Active Directory,
OpenLDAP, and FreeIPA with configurable attribute mapping, search-then-bind
and direct-bind methods, encrypted bind credentials (AES-256-GCM),
profile sync on login, and user auto-provisioning via external identity
linking.

Includes admin UI for connection settings with test-connection button,
login page LDAP form, 25 new PHPUnit tests, and de/en translations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 07:26:04 +01:00

39 lines
1.3 KiB
Docker

FROM php:8.5-fpm AS base
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
git \
unzip \
libzip-dev \
libmemcached-dev \
zlib1g-dev \
libssl-dev \
libjpeg-dev \
libpng-dev \
libwebp-dev \
libldap2-dev \
&& pecl install memcached \
&& docker-php-ext-enable memcached \
&& docker-php-ext-configure gd --with-jpeg --with-webp \
&& docker-php-ext-install pdo_mysql mysqli gd zip ldap \
&& rm -rf /var/lib/apt/lists/*
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /var/www
# ── Development profile (default) ────────────────────────────────────
FROM base AS dev
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
COPY docker/php/php.ini /usr/local/etc/php/conf.d/zzz-minty-dev.ini
COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d/zzz-xdebug.ini
# ── Production profile ───────────────────────────────────────────────
# No xdebug — smaller image, no debug overhead or attack surface.
FROM base AS prod
COPY docker/php/php.prod.ini /usr/local/etc/php/conf.d/zzz-minty-prod.ini