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"]