Skip to content


Repository files navigation


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


  • 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


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:

    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


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


You must also create the database file itself:

touch database/database.sqlite