20 lines
422 B
Docker
20 lines
422 B
Docker
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"]
|