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.
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.
Please note we're running the demo on a very cheap VPS so it may take a few seconds to load. This isn't an indication of the performance of the software, just our budget ;).
A clean, intuitive upload interface showing file selection and recipient information
My Shares page showing share details and options to manage user's shares
Comprehensive settings page to configure the application
- "Erugo - Self-Hosted File Sharing Platform" by DB Tech
- "Ditch WeTransfer! Self-Host Erugo for Secure File Sharing with Docker" by KeepItTechie
- 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
- Secure Access Control: Only authorized users can create shares, while anyone with a share link can download
- Simple Data Management: SQLite database for efficient metadata storage
- Flexible Configuration: Configure maximum share size, branding, expiry, and more
- Easy User Management: Invite 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!
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:
- ./storage:/var/www/html/storage
ports:
- "9998:80"
networks:
- erugo
networks:
erugo:
driver: bridge
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
erugo can be customised via the web interface.
- General settings
- Application name
- Application URL
- Login message
- Default language
- Enable language selector
- Share settings
- Maximum share size
- Expiration time
- Cleanup delay (how long after expiration the share is deleted)
- Notifications
- Enabale / disable various notifications
- SMTP settings
- SMTP host
- SMTP port
- SMTP encryption
- SMTP username
- SMTP password
- SMTP from name
- Branding
- Background images
- Custom logo image and size
- Hide powered by erugo text
- Select themes
- Manage themes
- 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
- Spanish
- Dutch
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, ans start vite in dev mode.
composer install
npm install
sail up -d
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.