-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile
46 lines (34 loc) 路 1.74 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
FROM nginx:1.25.3
MAINTAINER St茅phane Gully <gully@abes.fr>
ENV ARCHI_VERSION 5.2.0
ENV ARCHI_PLUGIN_MODELREPOSITORY_VERSION 0.8.8
WORKDIR /
# libswt-gtk2-4-jni for archimatetool system dependency
# xvfb for a headless Xserver needed by archimatetool -nosplash to run without error
# git for archi model download and updates
# wget/curl/uzip for Archi/plugins download and extracting
# vim for easy debug
RUN apt update && \
apt install -y xvfb libswt-gtk-4-jni git unzip curl vim jq dbus-x11
# download archimatetool
RUN curl "https://www.archimatetool.com/downloads/archi_5.php?/${ARCHI_VERSION}/Archi-Linux64-${ARCHI_VERSION}.tgz" \
> /Archi-Linux64-${ARCHI_VERSION}.tgz && \
tar -zxvf /Archi-Linux64-${ARCHI_VERSION}.tgz && \
rm -f /Archi-Linux64-${ARCHI_VERSION}.tgz
# git plugin for archimatetool
# Notice: the plugin is downloaded manually from https://www.archimatetool.com/plugins/
# because the download URL is not stable (old .zip are not kept)
COPY ./coArchi_${ARCHI_PLUGIN_MODELREPOSITORY_VERSION}.archiplugin /
RUN mkdir -p ~/.archi/dropins && \
unzip /coArchi_${ARCHI_PLUGIN_MODELREPOSITORY_VERSION}.archiplugin -d ~/.archi/dropins/ && \
rm -f /coArchi_${ARCHI_PLUGIN_MODELREPOSITORY_VERSION}.archiplugin
COPY ./.version /usr/share/nginx/html/
COPY ./docker-entrypoint.sh /
COPY ./create-htmlreport.periodically.sh /
RUN echo "abesesr/archi-htmlreport-docker:1.6.1 generated web site is empty." > /usr/share/nginx/html/index.html && \
echo "abesesr/archi-htmlreport-docker:1.6.1" > /version.html
# for git clone through ssh stuff
RUN mkdir -p /root/.ssh/
RUN echo "Host *" > /root/.ssh/config && echo "StrictHostKeyChecking no" >> /root/.ssh/config
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]