summaryrefslogtreecommitdiff
path: root/.docker/app/Dockerfile
blob: 36eabadd5d178f87d970911b64204f0f66b35811 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 --chmod=0755 startup.sh ${SCRIPT_ROOT}
ADD index.php ${SCRIPT_ROOT}
ADD config.docker.php ${SCRIPT_ROOT}

COPY --from=app-src . ${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