# syntax=docker/dockerfile:1
# 单容器双进程:lp-indexer(:8787)+ vite preview(:4173)
# 暴露 4173;preview 同源反代 /api -> 同容器 8787
FROM node:22-slim

WORKDIR /app

# 先装依赖(利用层缓存:源码变不动 node_modules 层)
COPY package.json package-lock.json ./
RUN npm ci

# 拷源码并构建(RPC 必须空:公网部署私钥不进 bundle)
COPY . .
RUN RPC="" npm run build

# indexer 数据持久化目录
RUN mkdir -p indexer/data
VOLUME /app/indexer/data

EXPOSE 4173

# 同时跑 indexer 和 preview,indexer 崩了容器不退(preview 仍可用 + dexscreener 兜底)
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]
