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 -d
This 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 pytest
This 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.