docker-ngrok/Dockerfile
hhftechnologies 45b0fbaadc update
2024-10-02 14:03:07 +05:30

53 lines
1.8 KiB
Docker

FROM alpine:3.12
LABEL org.opencontainers.image.description="Docker-Ngrok" \
org.opencontainers.image.authors="HHF Technology (https://forum.hhf.technology/)" \
org.opencontainers.image.url="https://git.hhf.technology/hhf/docker-ngrok" \
org.opencontainers.image.documentation="https://git.hhf.technology/hhf/docker-ngrok" \
org.opencontainers.image.source="https://git.hhf.technology/hhf/docker-ngrok"
# https://github.com/sgerrand/alpine-pkg-glibc
ARG GLIBC_VERSION=2.31-r0
RUN set -x \
&& apk add --no-cache -t .deps ca-certificates \
# Install glibc on Alpine (required by docker-compose)
# See also https://github.com/gliderlabs/docker-alpine/issues/11
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
&& wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk \
&& apk add glibc-${GLIBC_VERSION}.apk \
&& rm glibc-${GLIBC_VERSION}.apk \
&& apk del --purge .deps
RUN set -x \
# Install ngrok (latest official stable from https://ngrok.com/download).
&& apk add --no-cache curl \
&& APKARCH="$(apk --print-arch)" \
&& case "$APKARCH" in \
armhf) NGROKARCH="arm" ;; \
armv7) NGROKARCH="arm" ;; \
armel) NGROKARCH="arm" ;; \
x86) NGROKARCH="386" ;; \
x86_64) NGROKARCH="amd64" ;; \
esac \
&& curl -Lo /ngrok.tgz https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-$NGROKARCH.tgz \
&& tar -xzf /ngrok.tgz \
&& mv /ngrok /bin \
&& chmod 755 /bin/ngrok \
&& rm -f /ngrok.tgz \
# Create non-root user.
&& adduser -h /home/ngrok -D -u 6737 ngrok
# Add config script.
COPY --chown=ngrok ngrok.yml /home/ngrok/.ngrok2/
COPY entrypoint.sh /
USER ngrok
ENV USER=ngrok
# Basic sanity check.
RUN ngrok --version
EXPOSE 4040
CMD ["/entrypoint.sh"]