2024-02-28 18:07:22 +00:00
|
|
|
FROM alpine:3.16 as builder
|
2021-07-03 15:51:32 +00:00
|
|
|
#
|
|
|
|
# Include dist
|
|
|
|
ADD dist/ /root/dist/
|
|
|
|
#
|
|
|
|
# Install packages
|
|
|
|
RUN apk -U add --no-cache \
|
2024-02-28 18:07:22 +00:00
|
|
|
build-base \
|
|
|
|
git \
|
|
|
|
libcap && \
|
2021-07-03 15:51:32 +00:00
|
|
|
#
|
|
|
|
# Install endlessh from git
|
|
|
|
git clone https://github.com/skeeto/endlessh /opt/endlessh && \
|
|
|
|
cd /opt/endlessh && \
|
|
|
|
git checkout dfe44eb2c5b6fc3c48a39ed826fe0e4459cdf6ef && \
|
|
|
|
make && \
|
|
|
|
mv /opt/endlessh/endlessh /root/dist
|
|
|
|
#
|
2024-02-28 18:07:22 +00:00
|
|
|
FROM alpine:3.19
|
2021-07-03 15:51:32 +00:00
|
|
|
#
|
|
|
|
COPY --from=builder /root/dist/* /opt/endlessh/
|
|
|
|
#
|
|
|
|
# Install packages
|
|
|
|
RUN apk -U add --no-cache \
|
2024-02-28 18:07:22 +00:00
|
|
|
libcap && \
|
2021-07-03 15:51:32 +00:00
|
|
|
#
|
|
|
|
# Setup user, groups and configs
|
|
|
|
mkdir -p /var/log/endlessh && \
|
|
|
|
addgroup -g 2000 endlessh && \
|
|
|
|
adduser -S -H -s /bin/ash -u 2000 -D -g 2000 endlessh && \
|
|
|
|
chown -R endlessh:endlessh /opt/endlessh && \
|
|
|
|
#setcap cap_net_bind_service=+ep /usr/bin/python3.8 && \
|
|
|
|
#
|
|
|
|
# Clean up
|
|
|
|
rm -rf /root/* && \
|
|
|
|
rm -rf /var/cache/apk/*
|
|
|
|
#
|
|
|
|
# Set workdir and start endlessh
|
|
|
|
STOPSIGNAL SIGINT
|
|
|
|
USER endlessh:endlessh
|
|
|
|
WORKDIR /opt/endlessh/
|
|
|
|
CMD ./endlessh -f endlessh.conf >/var/log/endlessh/endlessh.log
|