lemonldap-ng/images/lemonldap-ng/Dockerfile

55 lines
1.6 KiB
Docker

FROM [[ .docker.repo ]][[ .docker.base_images.alma9.image ]]
MAINTAINER [[ .docker.maintainer ]]
ARG LLNG_VERSION=2.18.1 \
CARETAKERD_VERSION=1.0.7
ENV PATH=/usr/libexec/lemonldap-ng/bin:${PATH} \
LLNG_LISTEN=unix:/tmp/llng.sock \
LLNG_WORKERS=6 \
LLNG_NGINX_LISTEN=0.0.0.0:8080 \
LLNG_NGINX_CONF=/tmp/nginx.conf \
LLNG_SOCKET_PROTO=uwsgi \
LLNG_MANAGER_VHOST=manager.example.org \
LLNG_PORTAL_VHOST=auth.example.org \
EDITOR=vi
COPY root/etc/yum.repos.d/ /etc/yum.repos.d/
RUN set -eux &&\
dnf -y install \
glibc-langpack-en \
glibc-langpack-fr \
postgresql \
lemonldap-ng-handler-${LLNG_VERSION} \
lemonldap-ng-portal-${LLNG_VERSION} \
lemonldap-ng-manager-${LLNG_VERSION} \
lemonldap-ng-uwsgi-app-${LLNG_VERSION} \
uwsgi \
uwsgi-plugin-psgi \
lasso \
lasso-perl \
perl-DBD-Pg \
perl-Cache-Cache \
perl-Apache-Session-Browseable \
perl-Authen-Captcha \
perl-Authen-WebAuthn \
perl-Cookie-Baker \
perl-WWW-Form-UrlEncoded \
perl-Class-XSAccessor \
perl-Email-Sender \
nginx \
&&\
# dnf is an alias using --nodocs, so install doc manually \
microdnf -y install lemonldap-ng-doc-${LLNG_VERSION} &&\
curl -sSL https://github.com/echocat/caretakerd/releases/download/v${CARETAKERD_VERSION}/caretakerd-linux-amd64.tar.gz | \
tar xvz --exclude caretakerd.html -C /usr/local/bin &&\
chmod +x /usr/local/bin/caretakerd &&\
dnf -y clean all &&\
rm -rf /var/cache/yum/* /var/log/yum/* /var/lib/dnf/history*
COPY root/ /
USER apache
CMD ["caretakerd", "run"]