add docker deployment
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
node_modules
|
||||
dist
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
*.local
|
||||
.DS_Store
|
||||
indexer/data
|
||||
indexer-dist
|
||||
tsconfig.tsbuildinfo
|
||||
*.log
|
||||
.vite
|
||||
.git
|
||||
lp-terminal.tar.gz
|
||||
Dockerfile
|
||||
docker-compose.yml
|
||||
.dockerignore
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
# 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"]
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
lp-terminal:
|
||||
build: .
|
||||
container_name: lp-terminal
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "4173:4173"
|
||||
volumes:
|
||||
# indexer 的 SQLite 持久化(首次回填约 65 分钟,别丢)
|
||||
- lp-data:/app/indexer/data
|
||||
# 美国服务器 IP 直连,无需代理;如需代理取消下面注释
|
||||
# environment:
|
||||
# - NODE_USE_ENV_PROXY=1
|
||||
# - HTTPS_PROXY=http://host.docker.internal:7890
|
||||
|
||||
volumes:
|
||||
lp-data:
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
# 单容器双进程启动:indexer(后台)+ preview(前台)
|
||||
# 任一进程退出都让容器退出,交给 docker/compose 的 restart 策略重启
|
||||
|
||||
set -e
|
||||
|
||||
cd /app
|
||||
|
||||
# 后台跑 indexer
|
||||
echo "[entrypoint] starting lp-indexer on :8787"
|
||||
npm run indexer &
|
||||
INDEXER_PID=$!
|
||||
|
||||
# 前台跑 preview(--host 0.0.0.0 暴露到容器外)
|
||||
echo "[entrypoint] starting lp-web (preview) on :4173"
|
||||
npm run preview -- --host 0.0.0.0 --port 4173 &
|
||||
WEB_PID=$!
|
||||
|
||||
# 任一进程退出就整体退出
|
||||
trap 'echo "[entrypoint] process exited, shutting down"; kill $INDEXER_PID $WEB_PID 2>/dev/null; exit 1' CHLD
|
||||
wait
|
||||
Reference in New Issue
Block a user