Nimbus โ๏ธ
Nimbus - extensible storage system focused on quick data access
Before you start read the disclaimer! (at the bottom of this file)
๐ Running the app
- Make sure that you have installed Go, GoCV and MySQL.
Do not forget to create a database!
- Clone this repository to your local machine:
$ git clone https://github.com/mpieczaba/nimbus && cd nimbus
- Create .env file. Sample content can be found in the
.env.example
file.
- Run the app!
$ go run . start
๐ณ Running the app with Docker
- Make sure that you have installed Docker and Docker Compose.
- Clone this repository to your local machine:
$ git clone https://github.com/mpieczaba/nimbus && cd nimbus
- Create .env.docker file. Sample content can be found in the
.env.docker.example
file.
- Run the app!
$ docker-compose up
โ How does it work?
All cloud-based storage systems use slow and boring hierarchical directory systems.
Using them, it takes ages to find the file you are looking for.
Our solution for this problem is quite unusual - what if all the files were stored in one directory?
Files can be grouped into multiple tags by their content.
Furthermore, algorithms can classify a file by its name and content, using such things as computer vision, reverse image search and more.
Combined with a robust search engine, Nimbus delivers your files in the blink of an eye!
๐ฅ Features
- Easy to use and (wannabe) safe GraphQL API
- Docker image and Docker Compose support
Web service and dashboard
Event hooks
Computer vision classifiers
CLI management tools
โ ๏ธ Disclaimer
Nimbus is still in development! Use it at your own risk!
We do not guarantee that the code is bug-free (it probably has plenty of them).
Some features are truncated to provide at least a working prototype.
๐ Contributing
All pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.