Files
tg-ws-proxy-docker/Dockerfile
ВяткинАртём 549bc255f1 mega fix
2026-03-27 16:45:55 +03:00

66 lines
2.2 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM python:3.12-slim
# Python оптимизации
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1
# Переменные окружения по умолчанию для tg-ws-proxy
ENV TG_WS_PROXY_HOST=0.0.0.0 \
TG_WS_PROXY_PORT=1080 \
TG_WS_PROXY_LOGGER=true \
TG_WS_PROXY_LOG_LEVEL=INFO \
TG_WS_PROXY_LOG_FILE="" \
TG_WS_PROXY_LOG_MAX_MB=100 \
TG_WS_PROXY_LOG_BACKUPS=3 \
TG_WS_PROXY_BIND_MODE=network \
TG_WS_PROXY_DC_IPS="2:149.154.167.220 4:149.154.167.220" \
TG_WS_PROXY_BUF_KB=256 \
TG_WS_PROXY_POOL_SIZE=4
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential cargo libffi-dev libssl-dev tini ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd --system app \
&& useradd --system --gid app --create-home --home-dir /home/app app
WORKDIR /app
COPY pyproject.toml README.md LICENSE ./
COPY proxy ./proxy
COPY utils ./utils
COPY config.py ./
RUN pip install --upgrade pip setuptools wheel \
&& pip install .
USER app
EXPOSE 1080/tcp
# Собираем аргументы командной строки из переменных окружения
ENTRYPOINT ["/usr/bin/tini", "--", "/bin/sh", "-lc", "set -eu; \
args=\"--host ${TG_WS_PROXY_HOST} --port ${TG_WS_PROXY_PORT} --bind-mode ${TG_WS_PROXY_BIND_MODE} \
--log-level ${TG_WS_PROXY_LOG_LEVEL} --buf-kb ${TG_WS_PROXY_BUF_KB} --pool-size ${TG_WS_PROXY_POOL_SIZE}\"; \
\
# Добавляем --quiet если логгер отключен \
if [ \"${TG_WS_PROXY_LOGGER}\" = \"false\" ] || [ \"${TG_WS_PROXY_LOGGER}\" = \"0\" ] || [ \"${TG_WS_PROXY_LOGGER}\" = \"no\" ]; then \
args=\"$args --quiet\"; \
fi; \
\
# Добавляем log-file если указан \
if [ -n \"${TG_WS_PROXY_LOG_FILE}\" ]; then \
args=\"$args --log-file ${TG_WS_PROXY_LOG_FILE} --log-max-mb ${TG_WS_PROXY_LOG_MAX_MB} --log-backups ${TG_WS_PROXY_LOG_BACKUPS}\"; \
fi; \
\
# Добавляем dc-ip \
for dc in ${TG_WS_PROXY_DC_IPS}; do \
args=\"$args --dc-ip $dc\"; \
done; \
\
# Запускаем прокси \
exec python -u -m proxy.tg_ws_proxy $args \"$@\"", "--"]
CMD []