FROM python:3.12-alpine

# Install OpenVPN, OpenRC and other system deps
RUN apk add --no-cache openvpn openrc iproute2 bash

WORKDIR /app

# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy source code and entrypoint
COPY . .
RUN chmod +x entrypoint.sh

# Expose API port
EXPOSE 8000
# Expose OpenVPN port (default 1194 UDP)
EXPOSE 1194/udp

ENTRYPOINT ["./entrypoint.sh"]
