-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathDockerfile.multiarch
More file actions
73 lines (55 loc) · 3.93 KB
/
Copy pathDockerfile.multiarch
File metadata and controls
73 lines (55 loc) · 3.93 KB
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
FROM docker.io/owncloud/ubuntu:24.04@sha256:eefa36796a9dd360f8dbc3916fb12b97d605f1859a6dffe81fc226ca2ae7f94d
LABEL maintainer="ownCloud GmbH <devops@owncloud.com>" \
org.opencontainers.image.authors="ownCloud DevOps <devops@owncloud.com>" \
org.opencontainers.image.title="ownCloud CI PHP" \
org.opencontainers.image.url="https://hub.docker.com/r/owncloudci/php" \
org.opencontainers.image.source="https://github.com/owncloud-ci/php" \
org.opencontainers.image.documentation="https://github.com/owncloud-ci/php"
VOLUME ["/var/www/owncloud"]
ENV ORACLE_HOME=/usr/lib/oracle/12.2/client64
ENV LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
ENV APACHE_LOGGING_PATH=/dev/stdout
ARG RETRY_VERSION
ARG TARGETPLATFORM
# renovate: datasource=github-releases depName=owncloud-ci/retry
ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}"
RUN curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \
chmod 755 /usr/local/bin/retry
# Get the key that the Freexian deb mirror uses for signing
RUN wget http://php.freexian.com/public/archive-key.gpg -O /etc/apt/trusted.gpg.d/freexian-archive-php.gpg
# Get the authentication details for the deb mirror that has been set up to serve the Freexian PHP packages
RUN --mount=type=secret,id=mirror-auth,required cp /run/secrets/mirror-auth /etc/apt/auth.conf.d/freexian.conf
RUN --mount=type=secret,id=mirror-url,required apt-get update -y && \
apt-get install -y software-properties-common language-pack-en-base && \
apt-add-repository "https://$(cat /run/secrets/mirror-url)/php.freexian.com/ jammy main"
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y apache2 libapache2-mod-php7.4 libkrb5-dev libxml2-utils git-core unzip wget fontconfig libaio1 python2 php7.4 php7.4-dev php7.4-xml php7.4-mbstring php7.4-curl php7.4-gd php7.4-zip php7.4-intl php7.4-sqlite3 php7.4-mysql php7.4-pgsql php7.4-soap php7.4-phpdbg php7.4-ldap php7.4-gmp php7.4-imap php7.4-redis php7.4-memcached php7.4-imagick php7.4-smbclient php7.4-apcu php7.4-apcu-bc php7.4-ast rsync libimage-exiftool-perl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /etc/apache2/sites-available/default-ssl.conf && \
a2enmod rewrite headers env dir mime ssl expires dav dav_fs
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
curl -sSo oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb https://minio.owncloud.com/packages/oracle/oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb && \
dpkg -i oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb && \
rm oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb; \
fi
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
curl -sSo oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb https://minio.owncloud.com/packages/oracle/oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb && \
dpkg -i oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb && \
rm oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb; \
fi
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
curl -sSo oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb https://minio.owncloud.com/packages/oracle/oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb && \
dpkg -i oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb && \
rm oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb; \
fi
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
ln -s /usr/include/oracle/12.2/client64 /usr/lib/oracle/12.2/client64/include && \
echo "instantclient,/usr/lib/oracle/12.2/client64/lib" | pecl install oci8-2.2.0; \
fi
RUN pecl -d php_suffix=7.4 install krb5
# delete the file that has the authentication for the Freexian deb package server, so that it can't end up in the built docker image
RUN rm -f /etc/apt/auth.conf.d/freexian.conf
COPY overlay /
WORKDIR /var/www/owncloud