1
- FROM ubuntu:20.10
1
+ FROM alpine:3
2
2
3
- ENV DEBIAN_FRONTEND=noninteractive
4
- ENV LANG=C.UTF-8
3
+ ENTRYPOINT [ "/entrypoint.sh" ]
4
+ CMD [ "/usr/bin/supervisord" , "-n" , "-c" , "/etc/supervisord.conf" ]
5
5
6
- COPY install-pkgs.sh /install-pkgs.sh
6
+ ARG SUPVISD=supervisorctl
7
+ ARG DEBUG=N
8
+ ARG TZ=UTC
9
+ ARG SETUP=0
7
10
8
- RUN bash /install-pkgs.sh
11
+ RUN mkdir -p /repo/main \
12
+ && mkdir -p /repo/community
9
13
10
- ENV gvm_libs_version="v21.4.0" \
11
- openvas_scanner_version="v21.4.0" \
12
- openvas_smb="v21.4.0" \
13
- open_scanner_protocol_daemon="v21.4.0" \
14
- ospd_openvas="v21.4.0"
14
+ COPY apk-build/target/ /repo/
15
+ COPY apk-build/user.abuild/*.pub /etc/apk/keys/
15
16
16
- RUN echo "Starting Build..." && mkdir /build
17
+ ENV SUPVISD=${SUPVISD:-supervisorctl} \
18
+ DEBUG=${DEBUG:-N} \
19
+ TZ=${TZ:-UTC} \
20
+ SETUP=${SETUP:-0}
17
21
18
- #
19
- # install libraries module for the Greenbone Vulnerability Management Solution
20
- #
21
-
22
- RUN cd /build && \
23
- wget --no-verbose https://github.com/greenbone/gvm-libs/archive/$gvm_libs_version.tar.gz && \
24
- tar -zxf $gvm_libs_version.tar.gz && \
25
- cd /build/*/ && \
26
- mkdir build && \
27
- cd build && \
28
- cmake -DCMAKE_BUILD_TYPE=Release .. && \
29
- make && \
30
- make install && \
31
- cd /build && \
32
- rm -rf *
33
-
34
- #
35
- # install smb module for the OpenVAS Scanner
36
- #
37
-
38
- RUN cd /build && \
39
- wget --no-verbose https://github.com/greenbone/openvas-smb/archive/$openvas_smb.tar.gz && \
40
- tar -zxf $openvas_smb.tar.gz && \
41
- cd /build/*/ && \
42
- mkdir build && \
43
- cd build && \
44
- cmake -DCMAKE_BUILD_TYPE=Release .. && \
45
- make && \
46
- make install && \
47
- cd /build && \
48
- rm -rf *
49
-
50
- #
51
- # Install Open Vulnerability Assessment System (OpenVAS) Scanner of the Greenbone Vulnerability Management (GVM) Solution
52
- #
53
-
54
- RUN cd /build && \
55
- wget --no-verbose https://github.com/greenbone/openvas-scanner/archive/$openvas_scanner_version.tar.gz && \
56
- tar -zxf $openvas_scanner_version.tar.gz && \
57
- cd /build/*/ && \
58
- mkdir build && \
59
- cd build && \
60
- cmake -DCMAKE_BUILD_TYPE=Release .. && \
61
- make && \
62
- make install && \
63
- cd /build && \
64
- rm -rf *
65
-
66
- #
67
- # Install Open Scanner Protocol daemon (OSPd)
68
- #
69
-
70
- RUN cd /build && \
71
- wget --no-verbose https://github.com/greenbone/ospd/archive/$open_scanner_protocol_daemon.tar.gz && \
72
- tar -zxf $open_scanner_protocol_daemon.tar.gz && \
73
- cd /build/*/ && \
74
- python3 setup.py install && \
75
- cd /build && \
76
- rm -rf *
77
-
78
- #
79
- # Install Open Scanner Protocol for OpenVAS
80
- #
81
-
82
- RUN cd /build && \
83
- wget --no-verbose https://github.com/greenbone/ospd-openvas/archive/$ospd_openvas.tar.gz && \
84
- tar -zxf $ospd_openvas.tar.gz && \
85
- cd /build/*/ && \
86
- python3 setup.py install && \
87
- cd /build && \
88
- rm -rf *
89
-
90
- RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/openvas.conf && ldconfig && cd / && rm -rf /build
22
+ RUN { \
23
+ echo '@custcom /repo/community/' ; \
24
+ echo 'https://dl-5.alpinelinux.org/alpine/v3.14/main/' ; \
25
+ echo 'https://dl-5.alpinelinux.org/alpine/v3.14/community/' ;\
26
+ echo 'https://dl-4.alpinelinux.org/alpine/v3.14/main/' ; \
27
+ echo 'https://dl-4.alpinelinux.org/alpine/v3.14/community/' ;\
28
+ echo 'https://dl-cdn.alpinelinux.org/alpine/v3.14/main/' ; \
29
+ echo 'https://dl-cdn.alpinelinux.org/alpine/v3.14/community/' ; \
30
+ } >/etc/apk/repositories \
31
+ && cat /etc/apk/repositories \
32
+ && sleep 5 \
33
+ && apk update --update-cache \
34
+ && sleep 5 \
35
+ && apk upgrade --available \
36
+ && sleep 5 \
37
+ && apk add --allow-untrusted curl su-exec tzdata bash openssh supervisor openvas@custcom openvas-smb@custcom openvas-config@custcom gvm-libs@custcom ospd-openvas@custcom \
38
+ && mkdir -p /var/log/supervisor/ \
39
+ && sync
91
40
41
+ COPY gvm-sync-data/gvm-sync-data.tar.xz /opt/gvm-sync-data.tar.xz
92
42
COPY scripts/* /
43
+ COPY config/supervisord.conf /etc/supervisord.conf
44
+ COPY config/redis-openvas.conf /etc/redis.conf
45
+
46
+ VOLUME [ "/var/lib/openvas/plugins" ]
47
+
48
+ RUN if [ "${SETUP}" == "1" ]; then \
49
+ ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" >/etc/timezone \
50
+ && /usr/bin/supervisord -c /etc/supervisord.conf || true ; \
51
+ unset SETUP ;\
52
+ fi \
53
+ && rm /etc/localtime || true\
54
+ && echo "UTC" >/etc/timezone \
55
+ && rm -rf /tmp/* /var/cache/apk/* \
56
+ && echo "!!! FINISH Setup !!!"
93
57
94
- ENTRYPOINT ["/start.sh" ]
58
+ #
59
+ # Owned by User gvm
60
+ #
61
+ # /run/ospd
62
+ # /var/lib/openvas/plugins
63
+ # /var/lib/gvm
64
+ # /var/lib/gvm/gvmd
65
+ # /var/lib/gvm/gvmd/gnupg
66
+ # /var/log/gvm
67
+ #
68
+ # Owned by Group gvm
69
+ #
70
+ # /run/ospd
71
+ # /var/lib/gvm
72
+ # /var/lib/gvm/gvmd
73
+ # /var/lib/gvm/gvmd/gnupg
74
+ #
0 commit comments