An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

        


Logo


Personal file server, powered by Actix Web




Bug Report
|
Request



Rust


Actix


PostgreSQL


Supabase


License


## 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).