Services Tree is a simple, yet powerful REST API designed to manage my homelab services.
Note: This is a hobby project
- CRUD Operations: Create, Read, Update, and Delete services.
- OpenAPI Documentation: Auto-generated documentation (Thanks to FastAPI).
- Docker Compose Integration: Easily set up the environment with Docker Compose.
- Dependency Management: Managed with Poetry
- Clone the repository:
git clone https://github.com/M3nin0/services-tree.git
cd services-tree- Run using Docker Compose:
docker-compose up -dThis command builds the Docker image and starts the services defined in your docker-compose.yml, making the API accessible on the defined port (usually http://localhost:8000).
Once the server is running, you can access the OpenAPI documentation by navigating to /docs in your web browser. This page will provide you with an interactive UI to test and explore the API's capabilities.
To run tests, use the following command:
- Clone the repository:
git clone https://github.com/M3nin0/services-tree.git
cd services-tree- Install dependencies with Poetry:
poetry install --with dev- Configure the database
alembic upgrade head- Test!
poetry run pytestThis command executes the test suite defined with pytest, ensuring that your API's functionality is verified.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.