# Multi-stage: full Swift toolchain → slim Ubuntu 22.04 runtime (Swift shared libs copied from builder).
FROM swift:5.10-jammy AS builder
WORKDIR /build

COPY Package.swift Package.resolved ./
RUN swift package resolve

COPY Sources ./Sources
RUN swift build -c release --product Run \
    && cp "$(swift build -c release --show-bin-path)/Run" /tmp/Run

# Same glibc family as swift:5.10-jammy (Ubuntu 22.04); official images use 22.04 not "jammy-slim".
FROM ubuntu:22.04

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libgcc-s1 \
        libstdc++6 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY --from=builder /tmp/Run ./Run
COPY --from=builder /usr/lib/swift/linux /usr/lib/swift/linux

ENV LD_LIBRARY_PATH=/usr/lib/swift/linux

RUN useradd --system --uid 10001 --shell /usr/sbin/nologin radiostore
USER radiostore

EXPOSE 8080
ENTRYPOINT ["./Run"]
