Skip to content

anjaraeu/Raki

Repository files navigation

Raki

Raki is a full-featured file sharing utility. It relies on Tus protocol to allow resumable uploads.

Features

  • Upload 5 files and create a group
    • optional AES256 encryption with password
    • "single" downloads: deleted right after first download
    • custom expiration (from one day to one month)
    • create short link (with AnjaraLink or the integrated link shortener)
    • management link
  • User accounts (totally optional)
    • All the uploads in a single dashboard
  • Admin/Moderation panels
    • Report features (DMCA, non-ethical, etc...)
    • Admin dashboard with Horizon console

Installation

You'll need to install Composer for PHP dependencies, Nodejs to compile assets. You'll also need Redis to manage the ZIP generation queue.

  • First, install PHP dependencies:

    composer install --no-dev
  • Configure the .env file correctly:

    cp .env.example .env
    $EDITOR .env
    php artisan key:generate
  • Then build assets:

    yarn
    cd resources/fomantic
    npx gulp build
    cd ../..
    yarn production
  • Then setup the database:

    php artisan migrate
    
  • To manage the download queue, you'll need to run the Horizon daemon, with the provided systemd unit:

    sudo cp templates/files-horizon.service /etc/systemd/system/files-horizon.service

    Don't forget to edit PATHTOPHP and PATHTORAKI to their respective values.

  • (optional) Set the cron task to delete expired groups. The task template can be found in the templates folder. Again, don't forget to edit

SQLite

To use SQLite, replace the whole DB_* block by this line:

DB_CONNECTION=sqlite

You must also create the database file itself:

touch database/database.sqlite