Back to Apps
Project Send

Deploy Project Send on Your Own Server

ProjectSend is a self-hosted application that lets you upload files and assign them to specific clients that you create yourself!

💾 Storage🛠️ Developer Tools

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

Get Started

What is Project Send?

ProjectSend is a self-hosted application (you can install it easily on your own VPS or shared web hosting account) that lets you upload files and assign them to specific clients that you create yourself! Secure, private and easy. No more depending on external services or e-mail to send those files! Requires a user and database in either mysql or mariadb.

Self-Host Project Send

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:
  projectsend:
    image: linuxserver/projectsend:version-r1295
    environment:
      MAX_UPLOAD: "5000"
      PGID: "1000"
      PUID: "1000"
      TZ: Asia/Kolkata
    volumes:
      - projectsend-config:/config
      - projectsend-data:/data
volumes:
  projectsend-config: {}
  projectsend-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:80

Why Self-Host Project Send?

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

linuxserver/projectsend:${projectsend_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)"