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:
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
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