# ─── Build stage ───
FROM rust:1.83-bookworm AS builder

WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src/ src/

# Build release binary
RUN cargo build --release

# ─── Runtime stage ───
FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Create non-root user
RUN groupadd -r rustturn && useradd -r -g rustturn rustturn

COPY --from=builder /app/target/release/v100-turn /usr/local/bin/rustturn

# Default config
COPY config.example.toml /etc/rustturn/config.toml

USER rustturn

EXPOSE 3478/udp 3478/tcp 5349/tcp 8080/tcp 9100/tcp

ENTRYPOINT ["rustturn"]
CMD ["--config", "/etc/rustturn/config.toml"]
