FROM registry.fakecake.org/docker.io/alpine:3.16 EXPOSE 9000/tcp ENV SCRIPT_ROOT=/opt/epube ENV SRC_DIR=/src/epube RUN apk add --no-cache php81 php81-fpm \ php81-pdo php81-gd php81-mbstring php81-pecl-apcu \ php81-intl php81-xml php81-session php81-opcache \ php81-dom php81-fileinfo php81-json \ php81-sqlite3 php81-pdo_sqlite sqlite \ php81-zip php81-curl php81-openssl git \ sudo php81-pecl-xdebug rsync && \ sed -i -e 's/post_max_size = 8M/post_max_size = 64M/' /etc/php81/php.ini && \ sed -i -e 's/^listen = 127.0.0.1:9000/listen = 9000/' \ -e 's/;\(clear_env\) = .*/\1 = no/i' \ -e 's/^\(user\|group\) = .*/\1 = app/i' \ -e 's/;\(php_admin_value\[error_log\]\) = .*/\1 = \/tmp\/error.log/' \ -e 's/;\(php_admin_flag\[log_errors\]\) = .*/\1 = on/' \ /etc/php81/php-fpm.d/www.conf && \ mkdir -p /var/www ${SCRIPT_ROOT}/config.d ARG CI_COMMIT_BRANCH ENV CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH} ARG CI_COMMIT_SHORT_SHA ENV CI_COMMIT_SHORT_SHA=${CI_COMMIT_SHORT_SHA} ARG CI_COMMIT_TIMESTAMP ENV CI_COMMIT_TIMESTAMP=${CI_COMMIT_TIMESTAMP} ARG CI_COMMIT_SHA ENV CI_COMMIT_SHA=${CI_COMMIT_SHA} ADD .docker/app/startup.sh ${SCRIPT_ROOT} ADD .docker/app/index.php ${SCRIPT_ROOT} ADD .docker/app/config.docker.php ${SCRIPT_ROOT} RUN chmod 0755 ${SCRIPT_ROOT}/startup.sh COPY . ${SRC_DIR} ENV PHP_WORKER_MAX_CHILDREN=5 ENV PHP_WORKER_MEMORY_LIMIT=256M ENV OWNER_UID=1000 ENV OWNER_GID=1000 ENV EPUBE_ADMIN_USER="admin" ENV EPUBE_ADMIN_PASS="password" # EPUBE_XDEBUG_HOST defaults to host IP if unset ENV EPUBE_XDEBUG_ENABLED="" ENV EPUBE_XDEBUG_HOST="" ENV EPUBE_XDEBUG_PORT="9000" ENV EPUBE_SCRATCH_DB="db/scratch.db" ENV EPUBE_BOOKS_DIR="/books" ENV EPUBE_CALIBRE_DB="/books/metadata.db" ENV EPUBE_DICT_SERVER="dict" CMD ${SCRIPT_ROOT}/startup.sh