# Virtual ISP Stack with OpenVPN Integration # Dockerfile for containerized deployment FROM python:3.11-slim # Set working directory WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ openvpn \ iptables \ iproute2 \ net-tools \ procps \ build-essential \ python3-dev \ && rm -rf /var/lib/apt/lists/* COPY openvpn/server.conf /etc/openvpn/server/server.conf COPY openvpn/ca.crt /etc/openvpn/server/ca.crt COPY openvpn/server.crt /etc/openvpn/server/server.crt COPY openvpn/server.key /etc/openvpn/server/server.key COPY openvpn/dh.pem /etc/openvpn/server/dh.pem # Copy requirements and install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy application files COPY . . # Create necessary directories RUN mkdir -p /tmp/vpn_client_configs \ && mkdir -p /var/log/openvpn \ && mkdir -p database # Set environment variables ENV FLASK_APP=app.py ENV FLASK_ENV=production ENV PORT=7860 # Expose port EXPOSE 7860 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:7860/health || exit 1 # Run the application CMD ["python", "app.py"]