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
44 lines
1.2 KiB
Docker
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" ]
|