Skip to content

ajenti/ajenti

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

Ajenti is a Linux & BSD modular server admin panel. Ajenti 3 provides a new interface and a better architecture, developed with Python3 and Angular.

Badge Crowdin Badge Contributors Badge License


Feature highlights

  • Easy installation : Ajenti 3 can be easy installed with pip and the provided script.

  • Existing configuration : Picks up your current configuration and works on your existing system as-is, without any preparation.

  • Caring : Does not overwrite your config files, options and comments. All changes are non-destructive.

  • Batteries included : Includes lots of plugins for system and software configuration, monitoring and management.

  • Extensible : Ajenti 3 is easily extensible using Python. Plugin development is a quick and pleasant with Ajenti APIs. Write your first plugin.

  • Modern : Pleasant to look at, satisfying to click and accessible anywhere from tablets and mobile.

  • Lightweight : Small memory footprint and CPU usage. Runs on low-end machines, wall plugs, routers and so on.


Screenshots

Screenshot Ajenti Login Screenshot Ajenti Dashboard Screenshot Ajenti Settings
Screenshot Ajenti Plugins Screenshot Ajenti Systemd Screenshot Ajenti Terminal

See https://ajenti.org for more information


Contributors ✨

Thanks goes to these wonderful people (emoji key):


Kientz Arnaud

πŸ’»

Dmitry Zamaruev

πŸ’»

Ivlev Denis

πŸ’»

Valentin Bryukhanov

πŸ’»

Konstantin Stepanov

πŸ’»

Alex Raeder

πŸ’»

Alexander Stefanov

πŸ’»

Markus M. May

πŸ’»

Artsiomi Silivonchyk

πŸ’»

Ilya Voronin

πŸ’»

XΓ©fir Destiny

πŸ’»

Martin Ellis

πŸ’»

Alex Kucherenko

πŸ’»

Luis Salazar

πŸ’»

Miguel Gonzalez

πŸ’»

Joseph Wang

πŸ’»

Pablo Albornoz

πŸ’»

Praveen Baratam

πŸ’»

Andreas Till

πŸ’»

Roman

πŸ’»

Prajjwal Nijhara

πŸ’»

Julian B

πŸ’»

Catriel MΓΌller

πŸ’»

Kim

πŸ’»

Daniel Schulz

πŸ’»

dendilz

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Contributing

Helpers are welcome ! There are many ways to help in Ajenti Project :

Roadmap

Actually big changes are planned and under development. A global roadmap is :

  • Migrating to Python3
  • Migrating to python-socketio
  • Implement better API REST with @get, @post ... decorators
  • Migrating from AngularJS to Angular 13 (work in progress):
  • Add a lot of new plugins: once the migration to Angular done, we can add a lot of plugins to manage services on the server ( like apache2, nginx, postfix, etc ... ).
  • Migrating to asyncio: concept tested, but migration not really started.

Setup Development

Automated setup of Backend and Frontend

One terminal for Backend, one for Frontend.

Backend

  1. (MacOS) chmod +x scripts/setup/macOS_Prerequisites.sh && bash scripts/setup/macOS_Prerequisites.sh
    To ensure all MacOS prerequisites are installed.
    (Linux) Analyse the script macOS_Prerequisites.sh and run the linux commands manually.

  2. python3 ./scripts/setup/setup_environment.py to start the backend

Frontend

  1. cd scripts/setup/
  2. python3 ./scripts/ajenti-dev-multitool/ajenti_dev_multitool.py --build-plugins Builds the frontends of all plugins.
  3. python3 ./scripts/ajenti-dev-multitool/ajenti_dev_multitool.py --serve-plugins Serves the frontends of all plugins (with live reload).

    The frontend is running on http://localhost:4200/

    It uses the default modules dashboard,traffic,fstaband session_list.
    To develop different or fewer modules:
    Adjust the list DEVELOPMENT_PLUGINS = ['dashboard', 'traffic', 'fstab', 'session_list'] in the file ajenti_dev_multitool.py



Manual setup of frontend

We recommend to use the automated setup but you need to setup the frontend manually see the file ManualFrontendSetup.md