FROM oven/bun:latest AS front-end

WORKDIR /app

COPY *.json bun.lock ./

RUN bun ci

COPY *.ts index.html ./
COPY resources ./resources

RUN bun run build

FROM astral/uv:python3.14-alpine

WORKDIR /app

COPY uv.lock pyproject.toml ./
COPY app ./app/
RUN rm -rf ./app/lang
COPY resources/lang ./app/lang

RUN uv pip install . --system

ENV APP_ENV=production
ENV PORT=5000
EXPOSE ${PORT}
ENV BIND=0.0.0.0

COPY --from=front-end /app/dist ./dist

ENTRYPOINT [ "tout-doux" ]
