部署 - Docker
如果你有一定编程经验(会 Docker 以及基本的运维操作)并且有自己的服务器,也可以选择 Docker 的部署方式。
准备
在你的服务器上安装 Docker。具体的可以参考 Docker 官方文档
开启接口鉴权
注意
不建议关闭鉴权!
请阅读 这里。
Docker 部署
增加 Docker 配置
在代码库的根目录新建文件 Dockerfile,内容如下:
FROM node:lts
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]构建镜像
提示
下方的 surgio 可以替换为你喜欢的映像名
在项目的根目录运行:
docker build -t surgio:latest .使用
Docker 运行
在任意目录运行:
docker run --name surgio -p 3000:3000 -d surgio:latestDocker Compose
在希望运行的目录创建文件 compose.yml
name: 'surgio'
services:
  ladder:
    image: surgio:latest
    ports:
      - 3000:3000运行 docker compose up -d 即可
在公开网络中使用
注意
为了你自己的服务器安全,在公开网络(所有人都可能会访问到的情况下)中请勿使用 IP:端口 的方式进行访问。
另外,请为自己的服务器申请证书并通过后端代理进行 HTTPS 访问。
以下提供了简单的反向代理配置,更复杂的请自行研究。
如果你有 Traefik 部署
那么你的 compose.yml 文件可以按以下方式编写:
name: 'surgio'
services:
  ladder:
    image: surgio:latest
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik
      - traefik.http.routers.surgio.rule=Host(`你的域名`)
      - traefik.http.routers.surgio.tls=true
    networks:
      - traefik如果你有 Nginx
可以在你的站点配置下新增 surgio.conf:
server {
    listen 80;
    server_name 你的域名;
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}然后重新加载 Nginx 配置
sudo nginx -s reload更新 url
你可能还需要更新 surgio.conf.js 内 urlBase 的值,它应该类似:
https://你的域名/get-artifact/移步至