mirror of
https://github.com/misterunknown/ifm.git
synced 2025-03-17 17:49:51 +01:00
52 lines
1.3 KiB
Docker
52 lines
1.3 KiB
Docker
FROM php:8-cli-alpine
|
|
|
|
# only necessary environment variables
|
|
ENV IFM_ROOT_DIR="/var/www" \
|
|
IFM_ROOT_PUBLIC_URL="/www" \
|
|
IFM_TMP_DIR="/tmp"
|
|
|
|
# add missing extensions and dependencies
|
|
RUN apk add --no-cache \
|
|
bzip2-dev \
|
|
libcap-dev \
|
|
libcap-utils \
|
|
libzip-dev \
|
|
openldap-dev \
|
|
sudo
|
|
|
|
RUN docker-php-ext-install \
|
|
bz2 \
|
|
fileinfo \
|
|
ldap \
|
|
posix \
|
|
zip
|
|
|
|
# allow php binary to bind ports <1000, even if $USER != root
|
|
RUN /usr/sbin/setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/php
|
|
|
|
# remove unnecessary users
|
|
RUN deluser xfs && \
|
|
deluser www-data
|
|
|
|
# sudo: workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1773148
|
|
RUN echo "Set disable_coredump false" > /etc/sudo.conf
|
|
|
|
# prepare files
|
|
RUN rm -rf /var/www/html && \
|
|
mkdir -p /usr/local/share/webapps/ifm && \
|
|
chown -R 33:33 /var/www && \
|
|
ln -s /var/www /usr/local/share/webapps/ifm/www && \
|
|
mkdir -p /usr/src/ifm
|
|
COPY / /usr/src/ifm/
|
|
RUN /usr/src/ifm/compiler.php --languages=all && \
|
|
cp /usr/src/ifm/dist/ifm.php /usr/local/share/webapps/ifm/index.php && \
|
|
cp /usr/src/ifm/docker/php.ini /usr/local/share/webapps/ifm/ && \
|
|
rm -rf /usr/src/ifm
|
|
|
|
COPY docker/docker-startup.sh /usr/local/bin
|
|
|
|
# start php server
|
|
WORKDIR /usr/local/share/webapps/ifm
|
|
EXPOSE 80
|
|
CMD /usr/local/bin/docker-startup.sh
|