Linux-API is a lightweight REST API for Linux system monitoring and management. It provides real-time CPU, memory and disk stats, process and user session details, as well as secure user management with role-based access. Featuring API key authentication, rate limiting, background monitoring, and interactive OpenAPI docs, it’s easy to deploy and integrate into dashboards or automation workflows. Have fun trying it out!!!
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Devlog #14:
Over the past few days, I have made significant progress on my Linux API project.
I finished writing the full documentation and finalized the pip package, making it ready for easy installation and use. On top of that, I published the project documentation online along with a live demo, allowing others to explore and test the API directly. This update brings the project closer to being competition-ready, and I’m excited to share these improvements with the community.
Demo: http://67.207.74.82/
API-Docs: http://67.207.74.82/docs
Installation-Docs: https://github.com/Ivole32/Linux-API/wiki
pip-Package: https://pypi.org/project/linux-api/
Repo: https://github.com/Ivole32/Linux-API
Devlog #13
Since my last devlog, I’ve made a few smaller improvements. For example, I changed the return values of the /avg-load endpoint, improved the demo mode, and implemented some other minor tweaks.
In the coming days, I’ll focus on refining the endpoint descriptions, making the endpoints more consistent, and writing proper documentation.
Feels like it’s finally getting ready for release!
Full changelog: https://github.com/Ivole32/Linux-API/pull/17
Devlog #12:
In the last 3 hours, I added a demo mode for the API server, so it can be hosted in a restricted environment for testing purposes. During the implementation I ran into several issues with this new implementation, which I was able to track down and fix.
Full changes: https://github.com/Ivole32/Linux-API/pull/16
Devlog #11:
After a long time since the last devlog I finally got back to work. In this time I implemented 2 new endpoints:
- An endpoint to get informations about system users
- An endpoint to get average and logged load values
I guess I'll now check for errors and upgrade the average load endpoint by adding more information.
Devlog #10:
I haven’t worked on this project in a while, so I need to re-familiarize myself with the codebase and figure out what I was working on. I think I’ll continue with the system load feature?!
spend much time to improve the code structure with multiple files for better understanding etc. I also started to experiment with the system load feature, which is a bit complex because I can only load the average value for 1min, 5min and 15 min so I have to track any other average value by my own.
I added an endpoint to retrieve the system uptime. It returns the uptime in days, hours, minutes, and seconds, as well as the total uptime in seconds. Now I will focus on improving the code structure.
Since the last delog I added two new endpoints for listing system information and processes. The get_system_infos endpoint returns system information, while the list_processes endpoint lists all running processes.
After the last devlog I updated the requirements.txt file to the newer package versions. And fixed an internal server error when creating a new user.
Since the last devlog, I’ve made significant progress. I added functionality to delete your own account, or other accounts if you're an admin. I also improved the documentation at the /docs endpoint. Here's a quick overview:
- Added a short description explaining the functionality of each endpoint
- Added an overview of all possible return codes and their meanings
So I think I made big progress in user management so I can work on the real functionality of the API soon.
I started to implement a database to handle the user roles/api keys and endpoints to get informations about your role etc. or if you have an admin key about other users.
So here is my new project. I will focus on learning the basics of a new tool called FastAPI in python and then I'll start to create the functionality. I'm really looking forward to this project!