
Deploy Transfer.sh on Your Own Server
Transfer.sh allows you to upload and download files from the command-line
Want to deploy Transfer.sh on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Transfer.sh?
Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance. Transfer.sh currently supports the s3 (Amazon S3), gdrive (Google Drive), storj (Storj) providers, and local file system (local). If you want to keep the files, please mount a volume. If you want to select a provider, please fill the right environments after creating it.
Self-Host Transfer.sh
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
transfer_sh:
image: dutchcoders/transfer.sh:v1.4.0
environment:
BASEDIR: /tmp
FORCE_HTTPS: "false"
LISTENER: "8080"
PROVIDER: local
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:8080
Why Self-Host Transfer.sh?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
dutchcoders/transfer.sh:${transfersh_version}Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"