Back to Apps
Transfer.sh

Deploy Transfer.sh on Your Own Server

Transfer.sh allows you to upload and download files from the command-line

💾 Storage

Want to deploy Transfer.sh on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

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.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

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
4

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)"