Skip to content

Commit c32025f

Browse files
authored
Merge pull request #7 from Dexus-Forks/master
Move to Alpine image
2 parents 81c0978 + 16dd3e0 commit c32025f

14 files changed

+2198
-229
lines changed

.dockerignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*
2+
!apk-build/target/
3+
!apk-build/user.abuild/*.pub
4+
!config/
5+
!gvm-sync-data/
6+
!report_formats/
7+
!scripts/*.sh

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "apk-build"]
2+
path = apk-build
3+
url = git@github.com:Secure-Compliance-Solutions-LLC/GVM-APK-build.git
4+
branch = master

Dockerfile

Lines changed: 65 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,74 @@
1-
FROM ubuntu:20.10
1+
FROM alpine:3
22

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"]
55

6-
COPY install-pkgs.sh /install-pkgs.sh
6+
ARG SUPVISD=supervisorctl
7+
ARG DEBUG=N
8+
ARG TZ=UTC
9+
ARG SETUP=0
710

8-
RUN bash /install-pkgs.sh
11+
RUN mkdir -p /repo/main \
12+
&& mkdir -p /repo/community
913

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/
1516

16-
RUN echo "Starting Build..." && mkdir /build
17+
ENV SUPVISD=${SUPVISD:-supervisorctl} \
18+
DEBUG=${DEBUG:-N} \
19+
TZ=${TZ:-UTC} \
20+
SETUP=${SETUP:-0}
1721

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
9140

41+
COPY gvm-sync-data/gvm-sync-data.tar.xz /opt/gvm-sync-data.tar.xz
9242
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 !!!"
9357

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+
#

Makefile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
PWD ?= $(PWD)
2+
.DEFAULT_GOAL := all
3+
4+
all: apkbuild build
5+
6+
.PHONY: apkbuild
7+
apkbuild:
8+
cd ${PWD}/apk-build ; \
9+
make build
10+
11+
12+
.PHONY: build
13+
build: apkbuild
14+
cd ${PWD} ; \
15+
docker build --no-cache \
16+
-t securecompliance/openvas \
17+
.

apk-build

Submodule apk-build added at 93a9af5

0 commit comments

Comments
 (0)