phpldapadmin/docker/Dockerfile
Deon George f82cf33f7f
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 29s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m49s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 4m30s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s
Minor adjustments to Dockerfile build and init-docker startup
2025-02-12 23:05:49 +11:00

44 lines
1.2 KiB
Docker

FROM dunglas/frankenphp:php8.4-alpine
# Base
RUN apk add --no-cache bash
# Additional extensions:
RUN install-php-extensions \
ldap \
igbinary msgpack memcached
# Tune PHP
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN sed -i -e 's/^memory_limit = 128M/memory_limit = 256M/' /usr/local/etc/php/php.ini
RUN sed -i -e 's/^expose_php = On/expose_php = Off/' /usr/local/etc/php/php.ini
# Add composer
RUN curl -4 https://getcomposer.org/installer|php -- --install-dir=/usr/local/bin --filename=composer
ENV COMPOSER_HOME=/var/cache/composer
ENV SITE_USER=www-data
# Startup for ${SITE_USER}
COPY docker/init-docker /sbin/init-docker
RUN chmod 550 /sbin/init-docker && chown ${SITE_USER}:0 /sbin/init-docker && chown -R ${SITE_USER}:0 ${XDG_DATA_HOME} ${XDG_CONFIG_HOME}
COPY . /app
RUN mkdir -p ${COMPOSER_HOME} \
&& ([ -r auth.json ] && mv auth.json ${COMPOSER_HOME}) || true \
&& touch .composer.refresh \
&& mv .env.example .env \
&& FORCE_PERMS=1 BUILD=1 /sbin/init-docker \
&& rm -rf ${COMPOSER_HOME}/* composer.lock
WORKDIR /app
USER ${SITE_USER}
# Control which port to open
ENV SERVER_NAME=:8080
EXPOSE 8080
ENTRYPOINT [ "/sbin/init-docker" ]
CMD [ "--config","/etc/caddy/Caddyfile","--adapter","caddyfile" ]