Pairdrop

How to Install PairDrop on Ubuntu 24.04

PairDrop is a self-hosted, collaborative file sharing and communication tool. This guide walks you through a full installation on Ubuntu 24.04, including Node.js setup, service management, Nginx reverse proxy, and firewall configuration.

 

Step 1: Install System Dependencies

PairDrop requires Node.js, git, Nginx, and several build tools.

 
 
sudo apt update
sudo apt install -y curl git nginx ufw build-essential python3-pip

This ensures the server is ready to download binaries, compile Node modules, and serve content via Nginx.

 

Step 2: Install Node.js

 

Download and extract Node.js manually to avoid package conflicts:

wget https://nodejs.org/dist/v18.19.1/node-v18.19.1-linux-x64.tar.xz -O /tmp/node-v18.19.1-linux-x64.tar.xz
sudo tar -xJf /tmp/node-v18.19.1-linux-x64.tar.xz -C /usr/local --strip-components=1

Create symlinks for easier access:

sudo ln -sf /usr/local/bin/node /usr/bin/node
sudo ln -sf /usr/local/bin/npm /usr/bin/npm
sudo ln -sf /usr/local/bin/npx /usr/bin/npx

Verify versions:

node -v
npm -v

 

Step 3: Create PairDrop User and Directories

 

Create a dedicated system user and clean up any previous installations:

sudo useradd -r -m -d /var/www/pairdrop -s /bin/bash pairdrop
sudo rm -rf /var/www/pairdrop
sudo mkdir -p /var/www/pairdrop
sudo chown -R pairdrop:pairdrop /var/www/pairdrop

 

Step 4: Clone PairDrop Repository

 

Clone the latest code into a temporary directory, then move it to the final location:

sudo -u pairdrop mkdir -p /tmp/pairdrop-temp
cd /tmp/pairdrop-temp
sudo -u pairdrop git clone --depth 1 https://github.com/schlagmichdoch/PairDrop.git .
sudo -u pairdrop cp -r /tmp/pairdrop-temp/* /var/www/pairdrop/
sudo -u pairdrop cp -r /tmp/pairdrop-temp/.* /var/www/pairdrop/ 2>/dev/null || true
sudo rm -rf /tmp/pairdrop-temp
sudo chown -R pairdrop:pairdrop /var/www/pairdrop

 

Step 5: Install Node Modules

 

Navigate to the PairDrop directory and install dependencies:

cd /var/www/pairdrop
sudo -u pairdrop npm install

Optional: check available npm scripts:

sudo -u pairdrop npm run

Test startup (for 15 seconds):

sudo -u pairdrop timeout 15s npm start

 

Step 6: Configure PairDrop as a Systemd Service

 

Create a service file for automatic startup:

sudo nano /etc/systemd/system/pairdrop.service
[Unit]
Description=PairDrop Service
After=network.target

[Service]
Type=simple
User=pairdrop
Group=pairdrop
WorkingDirectory=/var/www/pairdrop
ExecStart=/usr/bin/npm start
Restart=on-failure
RestartSec=5
Environment=PORT=3000
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Reload systemd and start the service:

sudo systemctl daemon-reload
sudo systemctl enable --now pairdrop

 

Step 7: Configure Nginx Reverse Proxy

 

Create an Nginx site for PairDrop:

sudo nano /etc/nginx/sites-available/pairdrop
server {
    listen 80;
    server_name <server-ip>;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Enable the site and restart Nginx:

sudo ln -sf /etc/nginx/sites-available/pairdrop /etc/nginx/sites-enabled/pairdrop
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx

 

Step 8: Configure Firewall

 

Allow HTTP traffic:

sudo ufw allow 80/tcp

 

Step 9: Verify Installation

 

Check PairDrop and Nginx status:

sudo systemctl status pairdrop
sudo systemctl status nginx
curl http://<server-ip>

 

Highlights of this Installation

  • Manual Node.js binary installation (avoids package conflicts)

  • Bulletproof Git clone and move method

  • Proper user permissions with system user pairdrop

  • Managed via systemd for automatic restart

  • Nginx reverse proxy and firewall configuration included

 

Your PairDrop instance is now fully operational and accessible via your server IP.

  • 0 Kunder som kunne bruge dette svar
Hjalp dette svar dig?

Relaterede artikler

ERPNext v15

Last Updated: 31 August 2025Applies to: Ubuntu 24.04 LTS (fresh server recommended)Skill Level:...

Open-EMR v7.0.3

Last Updated: 31 August 2025Applies to: Ubuntu 24.04 LTS (fresh server recommended)Skill Level:...

ERPNext v14

Last Updated: 31 August 2025Applies to: Ubuntu 24.04 LTS (fresh server recommended)Skill Level:...

WordPress

1. Overview WordPress is the most popular open-source blogging system and CMS on the Web. It...

Joomla

How to Install Joomla on Ubuntu 24.04   Joomla is a free and open-source content management...