Skip to content

Latest commit

 

History

History
90 lines (60 loc) · 2.9 KB

README.md

File metadata and controls

90 lines (60 loc) · 2.9 KB

juststart (jst)

A simple, intuitive, and extensible cross-platform service manager inspired by Gentoo's Portage and supporting monkey patching.

Description

juststart (shortened as jst) is a service management system designed to replace runit and systemctl service managers. It features intuitive scripts (including status hook scripts), script-based timers, flexible configurations, and user-friendly automation. In addition, it follows the principle of behavior as parameters, allowing users to use this service management system more naturally. With influences from Gentoo's Portage, juststart also supports monkey patching for easy customization of the software's behavior.

Features

  • User-friendly, following the KISS (Keep it simple) principle
  • Script-based timers
  • Flexible configurations and automation
  • Behavior as parameters
  • Supports monkey patching for easy behavior customization
  • Can be used as an init system(Planing)
  • Designed for cross-platform compatibility
  • Accepts other software (e.g., systemd, runit) as backends
  • Inspired by Gentoo's Portage with a simple world list

Dependencies

  • Python standard library

Installation

It is recommended to install using pip from GitHub:

pip install git+https://github.com/xz-dev/juststart.git

Or use tools like pipx for installation.

Usage

  1. Create a service directory:

    mkdir ~/server
  2. Start the juststart service:

    juststart -c ~/server serve
  3. Open a new terminal and use the following commands to add, manage, and view the service status:

    jst -c ~/server add run.sh
    jst -c ~/server status run

Commands

Here's a brief overview of the available commands:

  • serve: Run as a daemon
  • add: Add a service
  • del: Delete a service
  • enable: Enable a service
  • disable: Disable a service
  • start: Start a service
  • restart: Restart a service
  • stop: Stop a service
  • reload: Reload config for a service
  • status: Status of a service
  • list: List all services
  • gc: Garbage collect for stopped services
  • shutdown: Shutdown the daemon

For more detailed information, refer to jst --help.

Roadmap

  1. Implement comprehensive testing, including unit tests and behavior tests.
  2. Add support for systemd and runit as backends.

This project is currently under active development, and we welcome everyone to join the development process, submit code, or share ideas in the user community, on GitHub, or anywhere else.

Community and Communication

To join the user community and communicate with other users, please join our Matrix room:

Matrix Room: #juststart:matrix.org

Feel free to ask questions, share your experiences, and contribute to the project!