FROM oven/bun:1

WORKDIR /app

COPY package.json bun.lock ./
RUN bun install --frozen-lockfile

COPY tsconfig.json ./
COPY src/server ./src/server
COPY src/db ./src/db
COPY src/ingest ./src/ingest
COPY src/filter-types.ts src/atlas-layout.ts ./src/

ENV NODE_ENV=production
ENV COINS_DATA_DIR=/app/data
ENV PORT=3000

EXPOSE 3000

CMD ["bun", "src/server/index.ts"]
