FROM debian:bookworm # Install required packages RUN apt-get update && apt-get install -y \ iproute2 \ openvpn \ tinyproxy \ python3 \ python3-pip \ python3-flask \ curl \ unzip \ supervisor \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Create directories for the app, Supervisor, and OpenVPN config RUN mkdir -p /app /etc/supervisor/conf.d /etc/openvpn # Copy configuration files and scripts COPY supervisord.conf /etc/supervisor/supervisord.conf COPY app.py /app/app.py COPY entrypoint.sh /entrypoint.sh COPY update-config.sh /update-config.sh COPY tinyproxy.conf /etc/tinyproxy/tinyproxy.conf COPY resolv.conf /etc/resolv.conf # Ensure our scripts are executable RUN chmod +x /entrypoint.sh /update-config.sh # Expose ports for Tinyproxy (8888) and the web UI (5000) EXPOSE 8888 5000 CMD ["/entrypoint.sh"]