-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
75 lines (66 loc) · 2.85 KB
/
Dockerfile
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# syntax=docker/dockerfile:1.7
ARG REPOSITORY
ARG TAG
#FROM --platform=$BUILDPLATFORM isle_buildkit as base
FROM isle_buildkit
# Install packages and tools that allow for basic downloads.
RUN --mount=type=cache,id=bagger-apk-${TARGETARCH},sharing=locked,target=/var/cache/apk \
apk add --no-cache \
php83-intl \
php83-zip \
&& \
echo '' > /root/.ash_history
#
ARG BAGGER_COMMIT="b97d0ed6e16c146e29f884762bbc4c92013a34f0"
ARG BAGGER_FILE=${BAGGER_COMMIT}.tar.gz
ARG BAGGER_URL="https://github.com/cwrc/islandora_bagger/archive/${BAGGER_FILE}"
ARG BAGGER_SHA256=37288df383e554d1de3be01c2be47331ad7c314862b0260b8291765c9d4594cd
RUN --mount=type=cache,id=bagger-composer-${TARGETARCH},sharing=locked,target=/root/.composer/cache \
--mount=type=cache,id=bagger-downloads-${TARGETARCH},sharing=locked,target=/opt/downloads \
download.sh \
--url "${BAGGER_URL}" \
--sha256 "${BAGGER_SHA256}" \
--strip \
--dest "/var/www/bagger" \
&& \
chown -R nginx:nginx /var/www/bagger \
&& \
su -s /bin/bash nginx -c "composer install -d /var/www/bagger"
# `--no-dev` leads to install error - ToDo revise composer.json
# APP_ENV=prod composer install -d /var/www/bagger --no-dev
# composer install -d /var/www/bagger --no-dev
EXPOSE 8000
#
ENV \
BAGGER_APP_ENV=dev \
BAGGER_APP_SECRET=sec.f58c87e1d737c4422b45ba4310abede5 \
BAGGER_BAG_DOWNLOAD_PREFIX=https://islandora.traefik.me/bags/ \
BAGGER_CROND_ENABLE_SERVICE="false" \
BAGGER_CROND_LOG_LEVEL="0" \
BAGGER_CROND_SCHEDULE="1 2 * * *" \
BAGGER_DRUPAL_URL=https://drupal \
BAGGER_DRUPAL_DEFAULT_ACCOUNT_NAME=admin \
BAGGER_DRUPAL_DEFAULT_ACCOUNT_PASSWORD=password \
BAGGER_LOCATION_LOG_PATH="%kernel.project_dir%/var/islandora_bagger.locations" \
BAGGER_LOG_LEVEL=info \
BAGGER_APP_DIR="/var/www/bagger" \
BAGGER_QUEUE_PATH="/var/www/bagger/var/islandora_bagger.queue" \
BAGGER_OUTPUT_DIR="%kernel.project_dir%/var/output" \
BAGGER_TEMP_DIR="%kernel.project_dir%/var/tmp" \
BAGGER_DEFAULT_PER_BAG_REGISTER_BAGS_WITH_ISLANDORA="false" \
BAGGER_DEFAULT_PER_BAG_NAME="nid" \
BAGGER_DEFAULT_PER_BAG_NAME_TEMPLATE="aip_%" \
BAGGER_DEFAULT_PER_BAG_SERIALIZE="zip" \
BAGGER_DEFAULT_PER_BAG_CONTACT_NAME="Contact" \
BAGGER_DEFAULT_PER_BAG_CONTACT_EMAIL="Contact email" \
BAGGER_DEFAULT_PER_BAG_SOURCE_ORGANIZATION="Source organization" \
BAGGER_DEFAULT_PER_BAG_HTTP_TIMEOUT=120 \
BAGGER_DEFAULT_PER_BAG_DELETE_SETTINGS_FILE="false" \
BAGGER_DEFAULT_PER_BAG_LOG_BAG_CREATION="true" \
BAGGER_DEFAULT_PER_BAG_LOG_BAG_LOCATION="false"
WORKDIR /var/www/
# requries v24+ of Docker
# https://github.com/docker/build-push-action/issues/761
#COPY --chown=nginx:nginx --link rootfs /
COPY --chown=nginx:nginx rootfs /
#RUN find /var/www/bagger ! -user nginx -exec chown nginx:nginx {} \;