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.
Categories
Download Statistics
3,417
Total Downloads
Related apps
Explore more like this
Explore allDetails
Repository
ghcr.io/mainfrezzer/bashupload:latestLast Updated2026-09-11
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