# Tangled Stars backend. The frontend is a separate static build served by Caddy.
FROM docker.io/denoland/deno:2.9.2

WORKDIR /app

# tangled/ carries seeds.json (read by the trending sweep); shared/ via @shared/.
COPY deno.jsonc deno.lock ./
COPY frontend/deno.json ./frontend/deno.json
COPY shared/ ./shared/
COPY tangled/ ./tangled/
COPY backend/ ./backend/
RUN deno cache backend/main.ts

ENV PORT=8080 \
    DB_PATH=/app/data/stars.db
VOLUME ["/app/data"]
EXPOSE 8080

CMD ["run", "--allow-net", "--allow-read", "--allow-write", "--allow-env", "backend/main.ts"]
