# 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"]