-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
4.Dockerfile
80 lines (68 loc) · 2.13 KB
/
4.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
76
77
78
79
80
# syntax=docker/dockerfile:1
ARG MATOMO_VERSION=4.16.1
ARG ALPINE_VERSION=3.19
FROM crazymax/yasu:latest AS yasu
FROM --platform=${BUILDPLATFORM:-linux/amd64} crazymax/alpine-s6:${ALPINE_VERSION}-2.2.0.3 AS download
RUN apk --update --no-cache add curl tar unzip xz
ARG MATOMO_VERSION
WORKDIR /dist/matomo
RUN curl -sSL "https://builds.matomo.org/matomo-${MATOMO_VERSION}.tar.gz" | tar xz matomo --strip 1
RUN curl -sSL "https://matomo.org/wp-content/uploads/unifont.ttf.zip" -o "unifont.ttf.zip"
RUN unzip "unifont.ttf.zip" -d "./plugins/ImageGraph/fonts/"
RUN rm -f "unifont.ttf.zip"
WORKDIR /dist/mmdb
RUN curl -SsOL "https://github.com/crazy-max/geoip-updater/raw/mmdb/GeoLite2-ASN.mmdb" \
&& curl -SsOL "https://github.com/crazy-max/geoip-updater/raw/mmdb/GeoLite2-City.mmdb" \
&& curl -SsOL "https://github.com/crazy-max/geoip-updater/raw/mmdb/GeoLite2-Country.mmdb"
FROM crazymax/alpine-s6:${ALPINE_VERSION}-2.2.0.3
COPY --from=yasu / /
COPY --from=download --chown=nobody:nogroup /dist/matomo /var/www/matomo
COPY --from=download --chown=nobody:nogroup /dist/mmdb /var/mmdb
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS="2" \
TZ="UTC" \
PUID="1000" \
PGID="1000" \
MATOMO_PLUGIN_DIRS="/var/www/matomo/data-plugins/;data-plugins" \
MATOMO_PLUGIN_COPY_DIR="/var/www/matomo/data-plugins/"
RUN apk --update --no-cache add \
bash \
ca-certificates \
curl \
libmaxminddb \
nginx \
openssl \
php82 \
php82-bcmath \
php82-cli \
php82-ctype \
php82-curl \
php82-dom \
php82-iconv \
php82-fpm \
php82-gd \
php82-gmp \
php82-json \
php82-ldap \
php82-mbstring \
php82-opcache \
php82-openssl \
php82-pdo \
php82-pdo_mysql \
php82-pecl-maxminddb \
php82-redis \
php82-session \
php82-simplexml \
php82-xml \
php82-zlib \
rsync \
shadow \
tzdata \
&& addgroup -g ${PGID} matomo \
&& adduser -D -H -u ${PUID} -G matomo -h /var/www/matomo -s /bin/sh matomo \
&& rm -rf /tmp/*
COPY rootfs /
EXPOSE 8000
VOLUME [ "/data" ]
ENTRYPOINT [ "/init" ]
HEALTHCHECK --interval=30s --timeout=20s --start-period=10s \
CMD /usr/local/bin/healthcheck