Docker image for headless proxy (#289)
This commit is contained in:
parent
77a0b837d9
commit
bd4746004e
|
|
@ -0,0 +1,28 @@
|
||||||
|
.git
|
||||||
|
.github
|
||||||
|
.gitignore
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*.pyo
|
||||||
|
*.egg-info/
|
||||||
|
.pytest_cache/
|
||||||
|
.mypy_cache/
|
||||||
|
.ruff_cache/
|
||||||
|
.venv/
|
||||||
|
venv/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
packaging/
|
||||||
|
windows.py
|
||||||
|
icon.ico
|
||||||
|
*.spec
|
||||||
|
*.spec.bak
|
||||||
|
*.manifest
|
||||||
|
*.log
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
# syntax=docker/dockerfile:1.7
|
||||||
|
|
||||||
|
FROM python:3.12-slim AS builder
|
||||||
|
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||||
|
PIP_NO_CACHE_DIR=1 \
|
||||||
|
VIRTUAL_ENV=/opt/venv
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends build-essential cargo libffi-dev libssl-dev \
|
||||||
|
&& python -m venv "$VIRTUAL_ENV" \
|
||||||
|
&& "$VIRTUAL_ENV/bin/pip" install --upgrade pip setuptools wheel \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
RUN "$VIRTUAL_ENV/bin/pip" install cryptography==46.0.5
|
||||||
|
|
||||||
|
FROM python:3.12-slim AS runtime
|
||||||
|
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
PATH=/opt/venv/bin:$PATH \
|
||||||
|
TG_WS_PROXY_HOST=0.0.0.0 \
|
||||||
|
TG_WS_PROXY_PORT=1080 \
|
||||||
|
TG_WS_PROXY_DC_IPS="2:149.154.167.220 4:149.154.167.220"
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends 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 --from=builder /opt/venv /opt/venv
|
||||||
|
COPY proxy ./proxy
|
||||||
|
COPY README.md LICENSE ./
|
||||||
|
|
||||||
|
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}\"; for dc in ${TG_WS_PROXY_DC_IPS}; do args=\"$args --dc-ip $dc\"; done; exec python -u proxy/tg_ws_proxy.py $args \"$@\"", "--"]
|
||||||
|
CMD []
|
||||||
Loading…
Reference in New Issue