https://github.com/beaverhouse/file-server-rust
Personal file server, powered by Actix Web
https://github.com/beaverhouse/file-server-rust
actix-web api-rest file-upload-server rust
Last synced: about 2 months ago
JSON representation
Personal file server, powered by Actix Web
- Host: GitHub
- URL: https://github.com/beaverhouse/file-server-rust
- Owner: BeaverHouse
- License: mit
- Created: 2024-11-09T10:55:05.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-09T10:55:53.000Z (6 months ago)
- Last Synced: 2025-01-30T01:43:05.374Z (4 months ago)
- Topics: actix-web, api-rest, file-upload-server, rust
- Language: Rust
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
Personal file server, powered by Actix Web
Bug Report
|
Request
## Overview
A backend server for handling file uploads and downloads, powered by [Actix Web](https://actix.rs/), [Rust](https://www.rust-lang.org/).
It uses the PostgreSQL database for managing file metadata.
The file will be stored in [Oracle Object Storage](https://www.oracle.com/cloud/storage/object-storage/).
## Prerequisites
1. [Rust](https://www.rust-lang.org/tools/install) must be installed.
2. PostgreSQL database is required, you can use [Supabase](https://supabase.com/) or other services.
3. You need to set environment variables to run the application.```env
PG__URL=
ORACLE_FAMILY_RW_ENDPOINT=
ORACLE_AECHECK_W_ENDPOINT=
ORACLE_AECHECK_R_ENDPOINT=
API_KEY=
```
## Run the application locally
You can run the server with the following command:
```bash
cargo run
```Otherwise, you can set up [auto-reloading](https://actix.rs/docs/autoreload) and run:
```bash
cargo watch -x run
```
## Swagger UI
The API documentation is powered by [utoipa](https://github.com/juhaku/utoipa).
After running the server, Swagger UI is available at:```
https://localhost:8080/file/docs/
```
## Contributing
See the [CONTRIBUTING.md](./CONTRIBUTING.md).