https://github.com/aiursoftweb/cpprunner
CppRunner is a simple Web app that can run code for you. It's based on .NET and Docker. With CppRunner, you can start testing a piece of code in seconds without setting up your environment. Now supports 15 languages. Mirror of: https://gitlab.aiursoft.cn/aiursoft/CppRunner
https://github.com/aiursoftweb/cpprunner
coding csharp debugging docker lab web
Last synced: about 1 year ago
JSON representation
CppRunner is a simple Web app that can run code for you. It's based on .NET and Docker. With CppRunner, you can start testing a piece of code in seconds without setting up your environment. Now supports 15 languages. Mirror of: https://gitlab.aiursoft.cn/aiursoft/CppRunner
- Host: GitHub
- URL: https://github.com/aiursoftweb/cpprunner
- Owner: AiursoftWeb
- License: other
- Created: 2023-12-21T16:11:40.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T07:00:19.000Z (over 1 year ago)
- Last Synced: 2024-10-25T03:19:21.968Z (over 1 year ago)
- Topics: coding, csharp, debugging, docker, lab, web
- Language: C#
- Homepage: https://cpprunner.aiursoft.cn/
- Size: 455 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CppRunner
[](https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/blob/master/LICENSE)
[](https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/pipelines)
[](https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/pipelines)
[](https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/commits/master?ref_type=heads)
[](https://cpprunner.aiursoft.cn)
[](https://hub.docker.com/r/aiursoft/cpprunner)
CppRunner is a simple Web app that can run code for you. It's based on .NET and Docker. With CppRunner, you can start testing a piece of code in seconds without setting up your environment. Now supports 15 languages.

## Try
Try a running CppRunner [here](https://cpprunner.aiursoft.cn).
## Run in Ubuntu
The following script will install\update this app on your Ubuntu server. Supports Ubuntu 22.04.
On your Ubuntu server, run the following command:
```bash
curl -sL https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/raw/master/install.sh | sudo bash
```
Of course it is suggested that append a custom port number to the command:
```bash
curl -sL https://gitlab.aiursoft.cn/aiursoft/cpprunner/-/raw/master/install.sh | sudo bash -s 8080
```
It will install the app as a systemd service, and start it automatically. Binary files will be located at `/opt/apps`. Service files will be located at `/etc/systemd/system`.
## Run manually
Requirements about how to run
1. Install [Docker](https://www.docker.com/)
2. Run `sudo docker build -t cpprunner .` in the project path to build the image from source.
3. Run `sudo docker run -it -p 5000:5000 -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock cpprunner` in the project path.
4. Open `http://localhost:5000` in your browser to test the app.
## Run in Docker
First, install Docker [here](https://docs.docker.com/get-docker/).
Then run the following commands in a Linux shell:
```bash
image=aiursoft/cpprunner
appName=cpprunner
sudo docker pull $image
sudo docker run -d --name $appName --restart unless-stopped -p 5000:5000 -v /var/www/$appName:/data -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock $image
```
That will start a web server at `http://localhost:5000` and you can test the app.
The docker image has the following context:
| Properties | Value |
|-------------|----------------------------------------|
| Image | aiursoft/cpprunner |
| Ports | 5000 |
| Binary path | /app |
| Data path | /data |
| Config path | /data/appsettings.json |
| Passthrough | /var/run/docker.sock (For Docker) |
| Passthrough | /tmp (For saving code with Docker) |
## Run in Microsoft Visual Studio
1. Open the `.sln` file in the project path.
2. Press `F5` to run the app.
## How to contribute
There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.
Even if you with push rights on the repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your workflow cruft out of sight.
We're also interested in your feedback on the future of this project. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.