OnlineCompiler
支持在线运行(Demo)和分享的代码演练场(Playground), 基于React + Quarkus (Grallvm) 构建, 目前已支持Java, Golang, Python, Nodejs, Javascript等.
Install / Use
/learn @Jansora/OnlineCompilerREADME
OnlineCompiler
支持在线运行的代码演练场(Playground), 基于React + Quarkus (Grallvm) 构建, 目前已支持Java, Golang, Python, Nodejs, Javascript等.
在线 demo
https://onlinecompiler.github.jansora.com
部署方案分为三种
- 物理机部署
- Docker 部署
- Kubernetes 部署
物理机部署
需要自备
java jdk 17(jdk17+)python3(3.6+)golangnodejs(14+) 可执行环境
请通过
java -versionpython3go versionnode -v验证运行环境
需要提供足够的权限来创建临时文件以及运行权限
下载主分支代码
- 编译前端静态资源
cd frontend && yarn build(需要 nodejs npm 环境支持) - 拷贝前端静态资源到后端文件夹
cp -r frontend/build/* quarkus/src/main/resources/META-INF/resources - 编译后端可执行文件
cd quarkus && quarkus build --native
编译 docker 镜像内可用的可执行文件请使用命令
cd quarkus && quarkus build --native -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=docker
- 执行
./quarkus/target/onlinecompiler-1.0.0-SNAPSHOT-runner应用即可正常启动
启动成功日志如下
root@parallels-Parallels-Virtual-Platform:/data/Github/OnlineCompiler/quarkus/target# ./onlinecompiler-1.0.0-SNAPSHOT-runner
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2022-11-20 22:18:26,451 INFO [io.quarkus] (main) onlinecompiler 1.0.0-SNAPSHOT native (powered by Quarkus 2.14.0.Final) started in 1.008s. Listening on: http://0.0.0.0:8080
2022-11-20 22:18:26,513 INFO [io.quarkus] (main) Profile prod activated.
2022-11-20 22:18:26,513 INFO [io.quarkus] (main) Installed features: [cdi, resteasy-reactive, resteasy-reactive-jackson, smallrye-context-propagation, vertx]
访问 http://localhost:8080 即可正常使用
Docker 部署
获取镜像
- 创建应用数据目录
mkdir /app && cd /app - 拉取镜像
docker pull ccr.ccs.tencentyun.com/jansora/onlinecompiler:7.2
部署到 docker
启动镜像 sudo docker run -d -p 9003:8080 --name onlinecompiler -v /app/data:/app/data ccr.ccs.tencentyun.com/jansora/onlinecompiler:7.2
/app/data 为临时数据存放, 去掉也无妨
浏览器输入 localhost:9003 即可看到启动成功
监测日志 docker logs -f onlinecompiler
kubernetes 部署
kubernetes 1.19 版本 参考 kubernetes 子目录 deployment -> service -> yaml 部署
git clone https://github.com/Jansora/OnlineCompiler.git
cd OnlineCompiler/kubernetes
# 部署 deployment
# 如果不需要存储 share 数据无需外挂 pvc
kubectl -f onlinecompiler-deployment.yaml
# 部署 service
kubectl -f onlinecompiler-service.yaml
# 部署网关
kubectl -f nginx-ingress-controller.yaml
# 部署网关配置
# 需要调整域名配置以适配当前 k8s 集群
kubectl -f github-ingress.yaml
安装教程以linux下操作为准, 但windows也支持安装, windows用户请根据以上步骤自行搭建安装教程
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
345.4kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
prose
345.4kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
claude-opus-4-5-migration
104.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
