Skip to content

Thymis is an open-source project that aims to provide a seamless and secure IoT device management solution. With Thymis, users can easily configure and manage their devices running on the NixOS operating system.

License

Notifications You must be signed in to change notification settings

Thymis-io/thymis

Repository files navigation

THYMIS

Thymis: Unlocking Smart Device Configuration and Management

license last-commit repo-top-language repo-language-count nixos svelte fastapi


Quick Links


Overview

Thymis is an open-source project that aims to provide a seamless and secure IoT device management solution. With Thymis, users can easily configure and manage their devices running on the NixOS operating system.

Thymis does this by allowing users to define and configure their device state and generating NixOS configurations for their devices. The controller can build device images as well as deploy to live devices.

Thymis also exposes a API that enables CRUD operations on device and module data.

Visit the Thymis Website for more information.


Architecture

The project uses SvelteKit for the frontend and FastAPI for a device controller. The frontend communicates with the controller using a REST API. The controller is responsible for managing device and module data.

Documentation

The projects documentation is in a TODO state. It is mainly documented by code comments and explanations in the codebase. We are working on pretty docs for you.


Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • Nix
  • Python 3
  • Node.js

Installation

  1. Clone the thymis repository:
git clone https://github.com/Thymis-io/thymis
  1. Change to the project directory:
cd thymis
  1. Install the dependencies:
cd frontend
npm install
cd ../controller
poetry install

Running thymis

Use the following command to run thymis:

First, start the controller:

cd controller
poetry run uvicorn thymis_controller.api:app --reload

Then, start the frontend:

cd frontend
npm run dev

Project Roadmap

  • Release 0.1.0: Initial release of the project.

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/Thymis-io/thymis
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


License

This project is protected under the GNU Affero General Public License v3.0 License. For more details, refer to the LICENSE file.


Acknowledgments

We love using these technologies and tools:

Return


About

Thymis is an open-source project that aims to provide a seamless and secure IoT device management solution. With Thymis, users can easily configure and manage their devices running on the NixOS operating system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •