# Stage 1: Build Go backend
FROM golang:1.23-alpine AS backend
WORKDIR /src
COPY backend/ .
RUN go build -o /out/tuner .

# Stage 2: Build React frontend
FROM oven/bun:latest AS frontend
WORKDIR /src
COPY frontend/ .
RUN bun install && bun run build

# Stage 3: Runtime
FROM alpine:3.20
RUN apk add --no-cache ca-certificates

WORKDIR /app
COPY --from=backend /out/tuner /app/tuner
COPY --from=frontend /src/dist /app/frontend/dist

ENV RESTREAMER_PORT=8080
ENV PLAYLIST_PATH=/data/playlist.m3u
ENV PLAYLIST_URL=https://pia.cx/m3u/630xhAmY/smp424GL
ENV PLAYLIST_USE_LOCAL=false
ENV PLAYLIST_AUTO_REFRESH_INTERVAL=1h
ENV FRONTEND_DIR=/app/frontend/dist

EXPOSE 8080

ENTRYPOINT ["/app/tuner"]
