Ajenti is a Linux & BSD modular server admin panel. Ajenti 3 provides a new interface and a better architecture, developed with Python3 and Angular.
-
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.
See https://ajenti.org for more information
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Helpers are welcome ! There are many ways to help in Ajenti Project :
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):
- plugins core and dashboard are almost done, but there's a lot of work to migrate all other plugins.
- This work take actually place in the branch ajenti-3-dev and the new plugins are stored in the directory plugins-new
- The documentation is located at https://docs.ajenti.org/en/ajenti-3-dev/index.html
- 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.
One terminal for Backend, one for Frontend.
- (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. python3 ./scripts/setup/setup_environment.py
to start the backend
cd scripts/setup/
python3 ./scripts/ajenti-dev-multitool/ajenti_dev_multitool.py --build-plugins
Builds the frontends of all plugins.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 modulesdashboard
,traffic
,fstab
andsession_list
.
To develop different or fewer modules:
Adjust the listDEVELOPMENT_PLUGINS = ['dashboard', 'traffic', 'fstab', 'session_list']
in the file ajenti_dev_multitool.py
We recommend to use the automated setup but you need to setup the frontend manually see the file ManualFrontendSetup.md