A simple web server that serve APIs to run just tasks remotely.
Every project has a work directory with a justfile and an output directory for the
built packages. WORK_DIR and OUTPUT_DIR from .env are only used to create the
first project on startup, projects and their recipes are managed on the web page.
A recipe is a name and the command that is passed to just in the project directory.
GET /projects- List projectsPOST /projects- Create a project withname,pathandoutputGET /project/{id}- Get a project and its recipesPOST /recipes- Create a recipe, or update it whenprojectandnamealready existPOST /run- Shedule a new task, the optionalprojectfield selects the projectPOST /reset/{id}- Reset task status so it will be run againPOST /canel/{id}- Delete a task from sheduleGET /list/{page}?project={id}- Get a list of recent tasks of a project
See test.rest for how to use the APIs.
An example web page is created for demonstration.

- Axum: Web server framework
- SeaORM: Sqlite database operations
- Dioxus: Create web pages
- Install just
- Edit
.envfile to set environment variables - Inside the project directory create a
justfileand define your tasks - Start the server
- Create projects and their recipes on the web page, tasks run in the project directory
- Use xh or VSCode REST client to call the APIs.
- Generate a token for authentication
remote-task generate-token <username> <days>- The token will be written to
token.txt
- Run
just build --releaseto build the server - Run
just run --releaseto run the server