forked from w2bro/docker-direwolf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
49 lines (41 loc) · 1.38 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
47
48
49
FROM debian:bookworm-slim as base
RUN apt-get update && apt-get -y upgrade \
&& apt-get install -y \
libasound2-dev \
libusb-1.0-0-dev \
libudev-dev \
&& rm -rf /var/lib/apt/lists/*
FROM base as builder
RUN apt-get update && apt-get install -y \
build-essential \
git \
cmake \
&& rm -rf /var/lib/apt/lists/*
RUN git clone "https://github.com/wb2osz/direwolf.git" /tmp/direwolf \
&& cd /tmp/direwolf \
&& mkdir build && cd build \
&& cmake .. \
&& make -j4 \
&& make DESTDIR=/target install \
&& make install-conf \
&& find /target/usr/local/bin/ -type f -exec strip -p --strip-debug {} \;
FROM base
COPY --from=builder /target/usr/local/bin /usr/local/bin
COPY --from=builder /target/etc/udev/rules.d/99-direwolf-cmedia.rules /etc/udev/rules.d/99-direwolf-cmedia.rules
ENV CALLSIGN "N0CALL-10"
ENV PASSCODE "12345"
ENV IGSERVER "euro.aprs2.net"
ENV COMMENT "Direwolf in Docker w2bro/direwolf"
ENV SYMBOL "igate"
ENV ADEVICE "plughw:0,0"
ENV LATITUDE "42^37.14N"
ENV LONGITUDE "071^20.83W"
RUN mkdir -p /etc/direwolf
RUN mkdir -p /var/log/direwolf
RUN addgroup -gid 242 direwolf && adduser -q -uid 242 -gid 242 --no-create-home --disabled-login --gecos "" direwolf
COPY start.sh direwolf.conf /etc/direwolf/
RUN chown 242.242 -R /etc/direwolf
RUN chown 242.242 -R /var/log/direwolf
USER direwolf
WORKDIR /etc/direwolf
CMD ["/bin/bash", "/etc/direwolf/start.sh"]