FROM denoland/deno:2.1.4 AS build

RUN apt-get update && apt-get install -y --no-install-recommends \
    curl && \
    deno run -A npm:playwright install --with-deps firefox &&\
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY deno.json /app/

COPY . .

ENV DATA_DIR=/app/data

RUN mkdir -p $DATA_DIR && \
    deno install --allow-import --allow-ffi --allow-scripts=npm:sharp@0.33.5-rc.1 -e main.ts &&\
    sed -i -e 's/"deno"/"no-deno"/' node_modules/@libsql/client/package.json &&\
    deno task build

EXPOSE 8000

CMD ["run", "-A", "main.ts"]

