FROM node:22-alpine AS css

WORKDIR /build
COPY package.json package-lock.json ./
RUN npm ci
COPY resources/css/ resources/css/
COPY app/ app/
COPY tailwind.config.js ./
RUN npm run css:build

FROM python:3.13-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY app/ app/
COPY resources/public/ resources/public/
COPY --from=css /build/resources/public/css/output.css resources/public/css/output.css

EXPOSE 4040
ENV PORT=4040
ENV BTCDATA_URL=http://btcdata:4101

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "4040"]
