Skip to content

RipperTs/fastgpt-sandbox

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ pnpm install

Docker 镜像

已打包可用的 Docker 镜像(可直接拉取运行):

registry.cn-hangzhou.aliyuncs.com/ripper/fastgpt-sandbox:latest

快速使用:

# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/ripper/fastgpt-sandbox:latest

# 运行(默认暴露 3000 端口)
docker run -d --name fastgpt-sandbox -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/ripper/fastgpt-sandbox:latest

Docker Compose 使用

项目已提供 docker-compose.yml,可一键启动服务。

# 后台启动
docker compose up -d

# 查看服务状态
docker compose ps

# 查看日志
docker compose logs -f sandbox

# 更新镜像并重启
docker compose pull && docker compose up -d

# 停止并移除容器
docker compose down

默认映射端口:3000->3000,启动后访问:http://localhost:3000/api

如需调整运行参数,编辑 docker-compose.ymlenvironment 段,例如:

services:
  sandbox:
    environment:
      - PY_SANDBOX_TIMEOUT=60
      - PYTHON_ENABLE_SECCOMP=0
      # 可选:仅放行 stderr 告警
      # - PY_STRICT_STDERR=0

Running the app

# development
$ pnpm run start

# watch mode
$ pnpm run start:dev

# production mode
$ pnpm run start:prod

Sandbox 环境变量

  • PY_SANDBOX_TIMEOUT:Python 子进程超时时间(秒),默认 30
  • PYTHON_ENABLE_SECCOMP:是否启用 Python seccomp 沙箱,1 启用(默认),0 关闭。
  • PY_STRICT_STDERR:是否将子进程 stderr 视为失败。0 忽略告警(默认),1 视为失败。

示例(Docker 使用官方镜像,关闭 seccomp 并放宽超时):

docker run -e PYTHON_ENABLE_SECCOMP=0 -e PY_SANDBOX_TIMEOUT=60 -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/ripper/fastgpt-sandbox:latest

仅放行 stderr 告警:

docker run -e PY_STRICT_STDERR=0 -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/ripper/fastgpt-sandbox:latest

支持的 Python 依赖

Test

# unit tests
$ pnpm run test

# e2e tests
$ pnpm run test:e2e

# test coverage
$ pnpm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

About

JS和Python运行的沙盒环境

Resources

Stars

Watchers

Forks

Releases

No releases published