Unified Cloud Storage Management System
Orchestrate multiple storage solutions with intelligent metadata extraction and semantic search
Key Features
Multi-Cloud Storage
Seamlessly connect and manage AWS S3, local filesystem, SQLite, PostgreSQL and more through one interface
Semantic Search
Automatically extract metadata from files and enable powerful semantic search capabilities
Dynamic Resources
Monitor external links (like YouTube) for changes and update metadata automatically
Advanced Controls
Built-in versioning, collision detection, and deduplication for robust data management
Microservice Architecture
Modular Design
Swap internal components like databases and storage backends with minimal configuration
Docker Deployment
All-in-one Docker image for quick local or cloud deployment
RabbitMQ Communication
Reliable microservice communication through RabbitMQ message queues for resilience and scalability
Zero-Downtime Scaling
Add new metadata extractors and services dynamically without disrupting the running system
Pluggable Storage
Support for multiple storage providers that can be mixed and matched
Metadata Pipeline
Extensible extraction system that analyzes files and external resources
Deployment
1. System Requirements
- Platform: Linux (Ubuntu recommended), macOS, or Windows with WSL
- Memory: Minimum 4GB RAM (8GB recommended)
- Dependencies: Docker, Python 3.8+
- Storage: 15GB for core system + storage requirements
2. Clone the repository
git clone https://github.com/xlukacs/omnivaultx.git
3. Run the core system
./start_image.sh
Note: Save the url displayed in the terminal, you will need it to connect from the CLI.
4. Install CLI tool
sudo dpkg -i omnivaultx_cli_[version]_amd64.deb
5. Connect from the CLI
om --setapi [url:port]
om --authenticate
Now follow the instructions to authenticate. om --help
Optional: Access the web interface
Configure the message broker for microservice communication:
The web interface is not yet available for local deployment. For a web version please use app.omnivaultx.com.CLI Usage
Initialize & Configure
Set the API url.
The system can be configured to use multiple systems, for example a local system and a remote system.om --setapi [url:port]
Authenticate
Authenticate with the system.
Authentication is done via a token flow. Authentication is only necessary for online systems.om --authenticate
Test connection
Test the connection to the system.
om --test
Help command
Get help about the CLI.
om --help
Screenshots

Connection dashboard
The connection dashboard shows the current user, the already defined connections and an option to add a new one.

Resource input and search
The resource input and search feature allows you to search for resources by name or tag. Support boolean search.

File explorer
The file explorer shows the current directory and the resources in it. You can navigate through the directory structure and select a resource to view its details. Tag management is also available here.

Dynamic resource scanner
The dynamic resource scanner allows you to enter an URL and do a dynamic scan. The returned resource type will be automatically selected, you just need to name the resource.

CLI installation
The CLI can be installed via dpkg. It will be installed in the /etc/om directory, optionally you can add a provided shell script to your PATH to see what is the connected remote directory.

CLI command examples
The CLI supports many commands. Here is an example of the list command.

Core system local startup
These are the logs of the core system, while starting up. The system will log all the IP addresses it is listening on.

CLI authentication
The CLI supports authentication via token flow. Enter the provided url and after typing the token enter your credentials.
Contact Me
Get in Touch
Interested in implementing my research or discussing potential applications? Feel free to reach out.