summaryrefslogtreecommitdiff
path: root/.docker/app
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-04-10 22:29:36 +0300
committerAndrew Dolgov <[email protected]>2023-04-10 22:29:36 +0300
commit0fef52be0a4adbfe3a7b092f355dd78d0f4855d6 (patch)
tree8e67600493e2b25cac358728181a783202289a21 /.docker/app
parente6475b522f817256333af7d34c808088ea4ab86e (diff)
get version from CI variables, rebase to php 8.1 & alpine 3.16
Diffstat (limited to '.docker/app')
-rw-r--r--.docker/app/Dockerfile33
-rw-r--r--.docker/app/startup.sh16
2 files changed, 30 insertions, 19 deletions
diff --git a/.docker/app/Dockerfile b/.docker/app/Dockerfile
index ee78428..36eabad 100644
--- a/.docker/app/Dockerfile
+++ b/.docker/app/Dockerfile
@@ -1,25 +1,37 @@
-FROM registry.fakecake.org/docker.io/alpine:3.13
+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 php8 php8-fpm \
- php8-pdo php8-gd php8-mbstring \
- php8-intl php8-xml php8-session \
- php8-dom php8-fileinfo php8-json \
- php8-sqlite3 php8-pdo_sqlite sqlite \
- php8-zip php8-curl php8-openssl git \
- sudo php8-pecl-xdebug rsync && \
- sed -i -e 's/post_max_size = 8M/post_max_size = 64M/' /etc/php8/php.ini && \
+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/php8/php-fpm.d/www.conf && \
+ /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 --chmod=0755 startup.sh ${SCRIPT_ROOT}
ADD index.php ${SCRIPT_ROOT}
ADD config.docker.php ${SCRIPT_ROOT}
@@ -45,5 +57,4 @@ ENV EPUBE_BOOKS_DIR="/books"
ENV EPUBE_CALIBRE_DB="/books/metadata.db"
ENV EPUBE_DICT_SERVER="dict"
-
CMD ${SCRIPT_ROOT}/startup.sh
diff --git a/.docker/app/startup.sh b/.docker/app/startup.sh
index a6b4016..6c5f721 100644
--- a/.docker/app/startup.sh
+++ b/.docker/app/startup.sh
@@ -39,7 +39,7 @@ if [ -r ${SCRIPT_ROOT}/restore.db ]; then
fi
chown -R $OWNER_UID:$OWNER_GID $DST_DIR \
- /var/log/php8
+ /var/log/php81
for d in db sessions; do
chmod -R 777 $DST_DIR/$d
@@ -53,7 +53,7 @@ if [ ! -z "${EPUBE_XDEBUG_ENABLED}" ]; then
fi
echo enabling xdebug with the following parameters:
env | grep EPUBE_XDEBUG
- cat > /etc/php8/conf.d/50_xdebug.ini <<EOF
+ cat > /etc/php81/conf.d/50_xdebug.ini <<EOF
zend_extension=xdebug.so
xdebug.mode=develop,trace,debug
xdebug.start_with_request = yes
@@ -63,21 +63,21 @@ EOF
fi
sed -i.bak "s/^\(memory_limit\) = \(.*\)/\1 = ${PHP_WORKER_MEMORY_LIMIT}/" \
- /etc/php8/php.ini
+ /etc/php81/php.ini
sed -i.bak "s/^\(pm.max_children\) = \(.*\)/\1 = ${PHP_WORKER_MAX_CHILDREN}/" \
- /etc/php8/php-fpm.d/www.conf
+ /etc/php81/php-fpm.d/www.conf
-sudo -Eu app php8 $DST_DIR/update.php --update-schema=force-yes
+sudo -Eu app php81 $DST_DIR/update.php --update-schema=force-yes
rm -f /tmp/error.log && mkfifo /tmp/error.log && chown app:app /tmp/error.log
(tail -q -f /tmp/error.log >> /proc/1/fd/2) &
-if ! sudo -Eu app php8 $DST_DIR/update.php --user-list | grep -q "$EPUBE_ADMIN_USER"; then
- sudo -Eu app php8 $DST_DIR/update.php --user-add "$EPUBE_ADMIN_USER:$EPUBE_ADMIN_PASS"
+if ! sudo -Eu app php81 $DST_DIR/update.php --user-list | grep -q "$EPUBE_ADMIN_USER"; then
+ sudo -Eu app php81 $DST_DIR/update.php --user-add "$EPUBE_ADMIN_USER:$EPUBE_ADMIN_PASS"
fi
touch $DST_DIR/.app_is_ready
-exec /usr/sbin/php-fpm8 --nodaemonize --force-stderr -R
+exec /usr/sbin/php-fpm81 --nodaemonize --force-stderr -R