Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justdimaa/cloud-rs
A file storage service using Rust, gRPC, and MongoDB.
https://github.com/justdimaa/cloud-rs
dioxus file-sharing grpc mongodb rust
Last synced: about 1 month ago
JSON representation
A file storage service using Rust, gRPC, and MongoDB.
- Host: GitHub
- URL: https://github.com/justdimaa/cloud-rs
- Owner: justdimaa
- Created: 2023-03-01T22:54:14.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-04T23:43:15.000Z (almost 2 years ago)
- Last Synced: 2024-09-24T16:10:16.021Z (5 months ago)
- Topics: dioxus, file-sharing, grpc, mongodb, rust
- Language: Rust
- Homepage:
- Size: 33.2 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-rust-list - justdimaa/cloud-rs - rs?style=social"/> : A file storage service using Rust, gRPC, and MongoDB. (GUI)
- awesome-rust-list - justdimaa/cloud-rs - rs?style=social"/> : A file storage service using Rust, gRPC, and MongoDB. (GUI)
README
# cloud-rs
This project is currently under development and not yet ready for use in any environments.## What works so far:
- Linux support (Windows and macOS untested)
- User authentication
- Downloading, uploading, and replacing files## Setup
1. Create a `.env` file in the workspace directory, with the following variables:
```
# client
DATABASE_URL=sqlite://cloud-desktop/sync.db # only required for client builds# api
API_DATABASE_URL=mongodb://root:yourmongopassword@localhost:27017
API_ENDPOINT=[::1]:50051
API_USER_STORAGE_QUOTA=1073741824 # 10 GiB# docker
DOCKER_MONGO_USER=root
DOCKER_MONGO_PWD=yourmongopassword
```2. If you don't have a mongodb server running, use this command:
```
# docker and docker-compose must be installed on your system
# a new mongodb server will be set up with the .env credentials
docker-compose up -d
```3. Start the api server:
```
cargo run --bin cloud-api
```4. Open the client:
```
cargo run --bin cloud-desktop
```