FROM python:3.12-alpine

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


WORKDIR /app

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

# Ensure DB directory exists
RUN mkdir -p /app/db

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