All apps · 0 apps
bashupload
Docker app from Mainfrezzer's Repository
Overview
A containerized selfhost version of https://bashupload.com/
PHP/JavaScript file upload web app to upload files from command line & browser, and download them elsewhere. Frequently used to upload/download files on servers.
Huge thanks to https://github.com/siomochkin for the icon
Readme
View on GitHubPHP/JavaScript file upload web app to upload files from command line & browser, and download them elsewhere. Frequently used to upload/download files on servers. Hosted version is available at bashupload.com.
Features
- Upload from command line with curl (or other CLI tools).
- Download from command line with wget, curl or other CLI tools.
- Download from browser.
- Upload from browser or mobile with file browser.
- Upload from browser with drag and drop.
- Automatic filesize limit based on php.ini post_max_size and upload_max_filesize settings.
- Files are automatically removed after specified number of days (configurable).
- Files are automatically removed after specified number of downloads (also configurable).
Installation
Make sure you have:
- php 7.2+
- Nginx 1.14+ (host config example located in the "setup" folder) or other webserver which can talk to PHP
- "/var/files" folder available for writing/reading to a web user ("www-data" usually)
- Clone bashupload repo to a folder.
- Setup webserver and point it to web/index.php (or just use Nginx virtual host config from "setup" folder).
- Tune config.php to your requirements. You can optionally copy config.php to config.local.php and make changes there (the file is untracked in GIT).
- Add "php tasks/clean.php" to be executed every hour using cron:
0 * * * * root php /path/to/bashupload/tasks/clean.php
Configuration
- You can change config.php (or untracked config.local.php file) to tune expiration and download limits to your needs.
- Change post_max_size and upload_max_filesize in php.ini to meet your needs on maximum upload file size.
- If you use Nginx, don't forget to update "client_max_body_size" param as well.
Install Bashupload on Unraid in a few clicks.
Find Bashupload in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Open the Apps tab on your Unraid server Search Community Apps for Bashupload Review the template variables and paths Click Install
Categories
Download Statistics
779
Total Downloads
Related apps
Explore more like this
Explore allDetails
Repository
ghcr.io/mainfrezzer/bashupload:latestLast Updated2026-05-20
First Seen2025-03-20
Runtime arguments
- Web UI
http://[IP]:[PORT:80]- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
-m 1G
Template configuration
App LocationPathrw
Location for the installed app alongside the configuration files
- Target
- /app
- Default
- /mnt/user/appdata/bashupload
- Value
- /mnt/user/appdata/bashupload
FilestoragePathrw
Storage location for all uploaded files
- Target
- /app/files
- Default
- /mnt/user/bashupload
- Value
- /mnt/user/bashupload
Upload sizeVariable
Use 128M, 512M, 1G or 10G to set the size.
- Target
- UPLOADSIZE
- Default
- 128M
- Value
- 512M
WebserverPorttcp
- Target
- 80
- Default
- 80
- Value
- 5465
UIDVariable
- Default
- 99
- Value
- 99
GIDVariable
- Default
- 100
- Value
- 100