FROM debian:bullseye
LABEL author=linuxjk.cn

ENV PHP_PACKAGES="php7.4-bcmath php7.4-bz2 php7.4-cgi  \
php7.4-cli php7.4-common php7.4-curl php7.4-dba  \
php7.4-dev php7.4-enchant php7.4-fpm php7.4-gd  \
php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl  \
php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql \
php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-readline php7.4-snmp  \
php7.4-soap php7.4-sybase php7.4-tidy php7.4-xml  \
php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-redis"
ENV CODE_DIR="/app/code/kodbox/"
ENV USER="www-data"


ADD sources.list /etc/apt/sources.list

RUN    set -aux \
    && umask 0022 \
&& apt update -o Acquire::https::Verify-Peer=false \
&& sed -i 's/https/http/g' /etc/apt/sources.list \
&& apt install -y ca-certificates \
&& sed -i 's/http/https/g' /etc/apt/sources.list \
&& apt update \
&& apt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring unzip \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && apt update \
    && apt install -y nginx \
    && apt install  -y ${PHP_PACKAGES} \
    && sed -i  's#/run/php/php7.4-fpm.sock#127.0.0.1:9000#g' /etc/php/7.4/fpm/pool.d/www.conf \
    && sed -i 's#/run/php/php7.4-fpm.pid#/run/php7.4-fpm.pid#g'   /etc/php/7.4/fpm/php-fpm.conf \
    && sed -i '/^user/s#nginx#www-data#g' /etc/nginx/nginx.conf \
    && mkdir -p ${CODE_DIR} \
    && chown ${USER}:${USER} ${CODE_DIR} \
    && ln -sf /dev/stdout /var/log/nginx/kodbox.access.log \
    && ln -sf /dev/stderr /var/log/nginx/kodbox.error.log \
    && ln -sf /dev/stderr /var/log/php7.4-fpm.log 

ADD nginx.conf /etc/nginx/nginx.conf
ADD kodbox.linuxjk.cn.conf /etc/nginx/conf.d/kodbox.linuxjk.cn.conf
ADD info.php ${CODE_DIR}
ADD kodbox.tar.gz ${CODE_DIR}

RUN set -aux \
    && umask 0022 \
    &&  chown -R ${USER}:${USER}  ${CODE_DIR} \
    && chmod 755 /app /app/code/ /app/code/kodbox \
    && apt clean \
    && rm -rf /var/cache \
    && rm -rf /usr/share/doc

EXPOSE 80 443
WORKDIR ${CODE_DIR}

COPY  entry.sh /entry.sh
CMD ["/entry.sh"]

