Erugo is a powerful, self-hosted file-sharing platform built with PHP and Laravel with a Vue.js frontend. It offers secure, customisable file-transfer capabilities through an elegant user interface, giving you complete control over your data while providing a seamless experience for both senders and recipients.
If you would like to support Erugo's development, please consider donating to the project. Your support helps me maintain and improve the software.
You can use the example docker-compose.yaml below to run Erugo in a container.
services:
app:
image: wardy784/erugo:latest
restart: unless-stopped
volumes:
- ./erugo-storage:/var/www/html/storage # Use a dedicated folder
ports:
- "9998:80"
The above docker-compose.yml provides a basic configuration starting point that will get Erugo up and running with a default sqlite database.
docker compose up -d
A clean, modern upload interface with file and folder support
Optionally password protect your shares
Invite guests to upload files to your account with a one-time reverse share token
Login screen with external auth provider support
Check out a sample share on our demo site at demo.erugo.app/shares/tight-silence-sweet-sea. While uploads are disabled on the demo, you can experience the recipient's view and download the sample file.

BoxToPlay offers premium VPS and game servers at competitive prices. They have generously contributed server resources to support Erugo's infrastructure, for which I am deeply grateful. Explore their services at boxtoplay.com.
- "Erugo - Self-Hosted File Sharing Platform" by DB Tech
- "Ditch WeTransfer! Self-Host Erugo for Secure File Sharing with Docker" by KeepItTechie
- Installer Erugo avec Docker (french)
- How to Install Erugo on Your Server: Step-by-Step Guide for Secure File Sharing
- Effortless Deployment: Easy to deploy on Docker with the provided docker-compose file
- Zero-Configuration: Reasonable defaults out of the box, but easily customised via the web interface
- Human-Friendly Share Links: Easy-to-read URLs like
you.com/shares/quiet-cloud-shrill-thunder
- Maintains Folder Structure: When uploading folders, the folder structure is maintained in the share link and subsequent downloads
- Reverse Share: Users can invite guests to upload files to their account with a one-time reverse share token
- Secure Access Control: Only authorized users can create shares, shares are publicly accessible or can be password protected
- Control Expiration: Shares can be configured to expire after a configurable period of time at upload time. Admins can set maximum expiration times for shares
- Flexible Configuration: Built-in themes and branding options, custom themes can be installed via the web interface, easily white-label your Erugo, set maximum upload sizes, maximum expiration times, and more
- Automatic Cleanup: Shares are automatically deleted after a configurable period of time
- Email Support: Full email support for notifications, password reset, and more
- Easy User Management: Invite, edit, and remove users from the web interface
- Interactive Setup: User-friendly first-run configuration when the web interface is first loaded
- Modern Interface: Clean, intuitive web UI
- Open Source: MIT licensed and ready for white-labeling
- Translations: Erugo is fully translatable and supports multiple languages already
Give this repository a star to keep track of releases and updates. Stars are also great for motivating me to keep adding features!
- Log in to the web interface
- Select files for upload
- Share the generated link with your recipient
Recipients simply need to:
- Click the share link
- Download the files through the web interface
- Log in to the web interface
- Click on the cog icon in the bottom right corner
- Click on the "My Shares" tab
You can extend share expiration, expire shares, set maximum downloads, and more.
As an open-source project, Erugo can be tailored to your needs:
- Customize the UI to match your brand
- Modify URL structures and authentication methods
- Extend functionality through code modifications
Currently, the following languages are supported:
- English
- French (Thanks to @zarev & @thibdevan)
- German
- Italian
- Dutch
- Portuguese (Thanks to Distermaer)
Erugo is fully translatable. If you would like to contribute a translation, please join our Discord server and drop a message in general channel.
Erugo is a Laravel application and uses Laravel Sail to run the development environment.
Run the following commands to start the server, run migrations, and start vite in dev mode.
touch database/database.sqlite
chmod 666 database/database.sqlite
composer install
npm install
sail up -d
cp .env.example .env
chmod 666 .env
sail artisan key:generate
sail artisan jwt:secret
sail artisan migrate
sail artisan db:seed
npm run dev
To build the docker image yourself, run the following command.
docker build -t erugo:local -f docker/alpine/Dockerfile .
If you would like to push the image to Docker Hub, run the following command. You will need to have a Docker Hub account and be logged in.
DOCKER_HUB_USERNAME=<your-docker-hub-username> ./publish-docker-image.sh
We welcome community contributions! Feel free to:
- Submit bug reports and feature requests
- Translate Erugo to your language
- Create pull requests
- Engage in discussions
Erugo is released under the MIT License, ensuring maximum flexibility for both personal and commercial use.
🚀 Ready to start? Download Erugo and begin sharing files securely in minutes!
Erugo is designed for legitimate file-sharing purposes such as transferring work assets, design files, media content, and other non-sensitive data between trusted parties. It is not intended for sharing illegal, harmful, or unauthorized content.
As a self-hosted application, administrators who deploy Erugo are solely responsible for:
- Compliance with all applicable local, national, and international laws
- Proper configuration and security of their instance
- Monitoring and moderating the content shared through their instance
- Implementing appropriate terms of service for their users
ERUGO IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
We strongly recommend that administrators:
- Implement access controls to limit who can create shares
- Configure appropriate file size limits
- Set reasonable expiration periods for shares
- Regularly review system logs
- Consider implementing additional monitoring if deploying in production environments
By downloading, installing, or using Erugo, you acknowledge that you have read and understood this disclaimer.