tpotce/docker/hellpot/Dockerfile

50 lines
1.5 KiB
Text
Raw Normal View History

2022-01-19 00:46:04 +00:00
FROM alpine:3.15
2021-07-02 22:12:47 +00:00
#
# Include dist
ADD dist/ /root/dist/
#
# Setup apk
RUN apk -U --no-cache add \
build-base \
git \
go \
2021-07-03 15:51:32 +00:00
g++ && \
2021-07-02 22:12:47 +00:00
#
# Setup go, hellpot
2021-07-03 15:51:32 +00:00
cd /root && \
2021-07-02 22:12:47 +00:00
export GOPATH=/opt/go/ && \
mkdir -p /opt/hellpot && \
2021-07-02 22:12:47 +00:00
mkdir -p /opt/go && \
git clone https://github.com/yunginnanet/HellPot && \
cd HellPot && \
2022-01-19 00:46:04 +00:00
git checkout 1312f20e719223099af8aad80f316420ee3dfcb1 && \
# Hellpot ignores setting the logpath, need to do this hardcoded ...
sed -i 's#logDir = snek.GetString("logger.directory")#logDir = "/var/log/hellpot/"#g' config/logger.go && \
sed -i 's#tnow := "HellPot"#tnow := "hellpot"#g' config/logger.go && \
2022-01-19 00:46:04 +00:00
sed -i 's#logFileName := "HellPot"#logFileName := "hellpot"#g' config/logger.go && \
go build cmd/HellPot/HellPot.go && \
mv /root/HellPot/HellPot /opt/hellpot/ && \
2021-07-02 22:12:47 +00:00
#
# Setup user, groups and configs
addgroup -g 2000 hellpot && \
adduser -S -s /bin/ash -u 2000 -D -g 2000 hellpot && \
mkdir -p /var/log/hellpot && \
# Hellpot wants to create .config folder always in user's home
mkdir -p /home/hellpot/.config/HellPot/logs && \
mv /root/dist/config.toml /home/hellpot/.config/HellPot/ && \
chown hellpot:hellpot -R /home/hellpot && \
2021-07-02 22:12:47 +00:00
#
# Clean up
apk del --purge build-base \
git \
go \
g++ && \
rm -rf /var/cache/apk/* \
/opt/go \
/root/dist
#
# Start hellpot
WORKDIR /opt/hellpot
USER hellpot:hellpot
CMD ["./HellPot"]