###############################################
# Stage 1 — Build FreeRADIUS with PostgreSQL
###############################################
FROM debian:stable AS builder

# Install build dependencies
RUN apt-get update && \
    apt-get install -y \
    git \
    build-essential \
    libpq-dev \
    pkg-config \
    autoconf \
    automake \
    libtool \
    libssl-dev && \
    rm -rf /var/lib/apt/lists/*

# Build FreeRADIUS from source
WORKDIR /build
RUN git clone --depth 1 https://github.com/FreeRADIUS/freeradius-server.git

WORKDIR /build/freeradius-server

RUN ./configure --with-rlm-sql-postgresql && \
    make && \
    make install


###############################################
# Stage 2 — Runtime image
###############################################
FROM freeradius/freeradius-server:latest

# Copy compiled modules and configs from builder
COPY --from=builder /usr/local/lib/freeradius /usr/lib/freeradius
COPY --from=builder /usr/local/etc/raddb /etc/freeradius

# Optional: ensure SQL module is enabled
RUN ln -s /etc/freeradius/mods-available/sql /etc/freeradius/mods-enabled/sql

# FreeRADIUS runs automatically via base image entrypoint
