diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..63d01b7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM golang:1-alpine as builder +ADD . /src +RUN cd /src && go build -o /messagessh + +FROM alpine:latest +COPY --from=builder /messagessh /bin/messagessh +RUN apk --no-cache add openssh +ADD ./entrypoint.sh /entrypoint.sh +EXPOSE 2222 +EXPOSE 8080 +ENTRYPOINT "/entrypoint.sh" \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..4896eaf --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/sh +[[ ! -d /data ]] && mkdir /data +[[ -z $SSH_KEY ]] && SSH_KEY=/data/id_25519 +[[ ! -f $SSH_KEY ]] && ssh-keygen -t ed25519 -f "$SSH_KEY" -q -N "" +[[ -z $SSH_ADDR ]] && SSH_ADDR=:2222 +[[ -z $HTTP_ADDR ]] && HTTP_ADDR=:8080 + +export SSH_KEY SSH_ADDR HTTP_ADDR + +echo "Listening on $SSH_ADDR (ssh), $HTTP_ADDR (http)" +messagessh \ No newline at end of file