FROM node:22-alpine WORKDIR /app # Install all deps (tsx is needed at runtime for ESM + TypeScript) COPY package*.json ./ RUN npm ci # Copy source COPY bin/ ./bin/ COPY server/ ./server/ COPY tsconfig*.json ./ # SQLite database lives here — mount a volume at /app/data in compose RUN mkdir -p /app/data ENV DB_PATH=/app/data/market-screener.db ENV NODE_ENV=production EXPOSE 3000 CMD ["npx", "tsx", "bin/server.ts"]