rock-relay-proxy / Dockerfile
Slavar077's picture
Update Dockerfile
2347565 verified
Raw
History Blame Contribute Delete
2.3 kB
# ═══════════════════════════════════════════════════════════════════════
# ROCK-RELAY PROXY v7.0 β€” DOCKERFILE (ΠœΠΠšΠ‘Π˜ΠœΠΠ›Π¬ΠΠΠ― ΠŸΠ ΠžΠ˜Π—Π’ΠžΠ”Π˜Π’Π•Π›Π¬ΠΠžΠ‘Π’Π¬)
# ═══════════════════════════════════════════════════════════════════════
# 1. ΠœΠΠžΠ“ΠžΠ‘Π’ΠΠ”Π˜Π™ΠΠΠ― Π‘Π‘ΠžΠ ΠšΠ (оптимизация Ρ€Π°Π·ΠΌΠ΅Ρ€Π°)
FROM python:3.11-slim-bookworm AS builder
# 2. Π£Π‘Π’ΠΠΠžΠ’ΠšΠ Π‘Π˜Π‘Π’Π•ΠœΠΠ«Π₯ Π—ΠΠ’Π˜Π‘Π˜ΠœΠžΠ‘Π’Π•Π™
RUN apt-get update && apt-get install -y \
curl \
wget \
gcc \
g++ \
make \
libffi-dev \
libssl-dev \
libjpeg-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# 3. Π£Π‘Π’ΠΠΠžΠ’ΠšΠ PYTHON-Π—ΠΠ’Π˜Π‘Π˜ΠœΠžΠ‘Π’Π•Π™
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
pip install --no-cache-dir -r requirements.txt && \
pip install --no-cache-dir gunicorn==22.0.0 gevent==25.4.1
# 4. Π€Π˜ΠΠΠ›Π¬ΠΠ«Π™ ΠžΠ‘Π ΠΠ— (чистый ΠΈ Π»Ρ‘Π³ΠΊΠΈΠΉ)
FROM python:3.11-slim-bookworm
# 5. Π£Π‘Π’ΠΠΠžΠ’ΠšΠ Π’ΠžΠ›Π¬ΠšΠž ΠΠ•ΠžΠ‘Π₯ΠžΠ”Π˜ΠœΠ«Π₯ Π‘Π˜Π‘Π’Π•ΠœΠΠ«Π₯ Π‘Π˜Π‘Π›Π˜ΠžΠ’Π•Πš
RUN apt-get update && apt-get install -y \
curl \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 6. ΠšΠžΠŸΠ˜Π Π£Π•Πœ Π—ΠΠ’Π˜Π‘Π˜ΠœΠžΠ‘Π’Π˜ Π˜Π— BUILDER
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/bin/gunicorn /usr/local/bin/gunicorn
# 7. ΠšΠžΠŸΠ˜Π Π£Π•Πœ ΠšΠžΠ”
COPY app.py .
COPY entrypoint.sh .
# 8. ΠΠΠ‘Π’Π ΠžΠ™ΠšΠ ΠŸΠ ΠΠ’
RUN chmod +x entrypoint.sh
# 9. Π‘ΠžΠ—Π”ΠΠΠ˜Π• ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π― (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ)
RUN useradd -m -u 1000 relayuser && chown -R relayuser:relayuser /app
USER relayuser
# 10. ЭКБПОРВ ПОРВА
EXPOSE 7860
# 11. ВОЧКА Π’Π₯ΠžΠ”Π
ENTRYPOINT ["./entrypoint.sh"]
# 12. Π—ΠΠŸΠ£Π‘Πš (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” production)
CMD ["--workers", "4", "--threads", "2", "--worker-class", "gthread", "--timeout", "60"]