Files
homelab/k8s/apps/mtproxy/Dockerfile

54 lines
1.6 KiB
Docker
Raw Normal View History

2026-02-12 00:43:12 +02:00
FROM --platform=$BUILDPLATFORM debian:bookworm-slim AS builder
ARG TARGETARCH
2026-02-11 20:45:49 +02:00
RUN apt-get update && apt-get install -y \
2026-02-12 00:43:12 +02:00
git curl make gcc libssl-dev zlib1g-dev \
2026-02-11 20:45:49 +02:00
&& rm -rf /var/lib/apt/lists/*
2026-02-12 00:43:12 +02:00
RUN if [ "$(dpkg --print-architecture)" != "$TARGETARCH" ]; then \
dpkg --add-architecture $TARGETARCH && \
apt-get update && \
case "$TARGETARCH" in \
arm64) apt-get install -y gcc-aarch64-linux-gnu libssl-dev:arm64 zlib1g-dev:arm64 ;; \
amd64) apt-get install -y gcc-x86-64-linux-gnu libssl-dev:amd64 zlib1g-dev:amd64 ;; \
esac && \
rm -rf /var/lib/apt/lists/*; \
fi
2026-02-11 20:45:49 +02:00
RUN git clone https://github.com/TelegramMessenger/MTProxy.git /src
WORKDIR /src
2026-02-12 00:43:12 +02:00
RUN NATIVE=$(dpkg --print-architecture) && \
if [ "$NATIVE" != "$TARGETARCH" ]; then \
case "$TARGETARCH" in \
arm64) export CC=aarch64-linux-gnu-gcc ;; \
amd64) export CC=x86_64-linux-gnu-gcc ;; \
esac; \
fi && \
make -j$(nproc)
2026-02-11 20:45:49 +02:00
FROM debian:bookworm-slim
2026-02-11 20:55:37 +02:00
ENV PROXY_PORT=30443
2026-02-11 20:45:49 +02:00
ENV STATS_PORT=8888
ENV WORKERS=1
ENV RUN_USER=nobody
RUN apt-get update && apt-get install -y \
curl libssl3 zlib1g xxd \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /src/objs/bin/mtproto-proxy /usr/local/bin/mtproto-proxy
RUN curl -s https://core.telegram.org/getProxySecret -o /etc/mtproxy/proxy-secret --create-dirs && \
curl -s https://core.telegram.org/getProxyConfig -o /etc/mtproxy/proxy-multi.conf
ENTRYPOINT mtproto-proxy \
-u ${RUN_USER} \
-p ${STATS_PORT} \
-H ${PROXY_PORT} \
-M ${WORKERS} \
--aes-pwd /etc/mtproxy/proxy-secret \
/etc/mtproxy/proxy-multi.conf