File size: 1,005 Bytes
dc3394d de14924 dc3394d de14924 dc3394d f0088f5 dc3394d f49ab7c 0c8b0fc f0088f5 dc3394d f0088f5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
FROM alpine:latest
# Install Tor, Python, and dependencies
RUN apk update && \
apk add tor python3 py3-pip curl --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ && \
rm -rf /var/cache/apk/*
# Create app directory
WORKDIR /app
# Copy requirements file
COPY requirements.txt /app/requirements.txt
# Create and activate virtual environment, then install dependencies
RUN python3 -m venv /app/venv && \
/app/venv/bin/pip install --no-cache-dir -r /app/requirements.txt
# Copy application files
COPY app.py /app/app.py
COPY torrc /etc/tor/torrc
COPY start.sh /app/start.sh
# Ensure tor user and group exist, set permissions
RUN if ! getent group tor >/dev/null; then addgroup -S tor; fi && \
if ! getent passwd tor >/dev/null; then adduser -S -G tor tor; fi && \
mkdir -p /var/lib/tor && \
chown -R tor:tor /etc/tor /var/lib/tor && \
chmod +x /app/start.sh
# Expose Flask and SOCKS5 ports
EXPOSE 5000 9050
# Run start script
CMD ["/app/start.sh"] |