Skip to content

BeaverHouse/file-server-rust

Repository files navigation

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, Rust.
It uses the PostgreSQL database for managing file metadata.
The file will be stored in Oracle Object Storage.


Prerequisites

  1. Rust must be installed.

  2. PostgreSQL database is required, you can use Supabase or other services.

  3. You need to set environment variables to run the application.

    PG__URL=
    ORACLE_FAMILY_RW_ENDPOINT=<presigned-url-of-oracle-object-storage>
    ORACLE_AECHECK_W_ENDPOINT=<presigned-url-of-oracle-object-storage>
    ORACLE_AECHECK_R_ENDPOINT=<presigned-url-of-oracle-object-storage>
    API_KEY=

Run the application locally

You can run the server with the following command:

cargo run

Otherwise, you can set up auto-reloading and run:

cargo watch -x run

Swagger UI

The API documentation is powered by utoipa.
After running the server, Swagger UI is available at:

https://localhost:8080/file/docs/

Contributing

See the CONTRIBUTING.md.