No description
Find a file
2025-04-16 23:45:50 -05:00
bruno-api-docs Rename 2025-04-16 17:26:24 -05:00
config Merge server folder to root 2025-04-16 15:58:30 -05:00
docs/images Add screenshot 2025-04-16 17:11:18 -05:00
migrations Fix login loop and add documentation 2025-04-16 17:05:41 -05:00
src Add more credits 2025-04-16 17:19:59 -05:00
static Add kinda crappy create file UI 2025-04-16 23:45:50 -05:00
templates Add kinda crappy create file UI 2025-04-16 23:45:50 -05:00
.gitignore Fix login loop and add documentation 2025-04-16 17:05:41 -05:00
Cargo.lock Fix login loop and add documentation 2025-04-16 17:05:41 -05:00
Cargo.toml Fix login loop and add documentation 2025-04-16 17:05:41 -05:00
LICENSE Add GNU AGPLv3 license 2025-04-16 16:16:22 -05:00
README.md Adjust roadmap 2025-04-16 17:33:52 -05:00

storage-app

(needs a better name)

Overview

This project takes heavily inspiration from Seafile in its functionality and UI design. File hosting service with performance, ease of use, and being lightweight.

Notice: Project is under heavy active development

Key features include:

  • Web UI for managing files, with minimal/no client-side javascript
  • Multiple storage backends supported (local filesystem, S3, etc)
  • Multiple libraries per user, each with configurable storage backends
  • WebDAV (soon)

screenshot of files screen The current files list when logged in

Getting Started

Prerequisites

  • Rust 1.86+ (stable) and Cargo
  • PostgreSQL 13+ database
  • 512MB RAM minimum

Installing

# Clone the repository
git clone https://github.com/jackzmc/storage.git
cd storage

# Configure your database (create .env file with your PostgreSQL connection)
echo "DATABASE_URL=postgres://username:password@localhost" > .env

# Build the project
cargo build --release

# Run database migrations
#cargo run --bin migrate --features migrations

# Run the server
cargo run --release

Roadmap

Rough roadmap in a rough order of priority

  • WebDAV Support
  • Email support (for password resets, user invites)
  • SSO Support (openid)
  • Administration panel
    • Add storage backends
    • Manage users
    • Change app settings
  • S3 backend support

Documentation

Todo, will be available at https://git.jackz.me/jackz/storage/wiki

Development

The server is written in Rust, using the Rocket framework and handlebars for HTML templating. The frontend is just HTML and CSS, using the Bulma CSS framework. As little javascript as possible should be done for frontend work.

Contributions are welcome

License

Available under the AGPL-3.0 license. LICENSE