All templates

PairDrop

AirDrop for everyone. Send files between devices on the same network or paired across networks.

Added by LeafdTK, 28 Sept 2026 v1.0.0 GPL-3.0-only files #file transfer#p2p

Resources

PairDrop

LeafdTK1 deployment1 domainv1.0.0

2
  • app

    lscr.io/linuxserver/pairdrop:latest

    Running

  • ingress

    drop.example.com

    Live

Parameters

YAML

pairdrop.yaml v1.0.0
apiVersion: leaf/v1
kind: Template
metadata:
  name: pairdrop
  displayName: 'PairDrop'
  description: 'AirDrop for everyone. Send files between devices on the same network or paired across networks.'
  icon: send
  version: '1.0.0'
  category: files
  tags: ['file transfer', 'p2p']
  keywords: ['airdrop', 'snapdrop', 'send files', 'local sharing']
  homepage: https://pairdrop.net
  license: GPL-3.0-only

parameters:
  - name: appName
    displayName: 'App Name'
    type: string
    default: 'drop'
    required: true
    validation:
      pattern: '^[a-z][a-z0-9-]{1,58}[a-z0-9]$'
      message: 'Must be lowercase alphanumeric with hyphens, 3-60 chars'
  - name: domain
    displayName: 'Domain'
    type: string
    required: true
    placeholder: 'drop.example.com'
  - name: rateLimit
    displayName: 'Rate limit'
    type: boolean
    default: false
  - name: wsFallback
    displayName: 'WebSocket fallback'
    description: 'For networks that block WebRTC'
    type: boolean
    default: true
  - name: enableTls
    displayName: 'Enable HTTPS'
    type: boolean
    default: true

resources:
  - name: app
    type: deployment
    config:
      name: '{{ params.appName }}'
      image: lscr.io/linuxserver/pairdrop:latest
      replicas: 1
      ports:
        - name: http
          containerPort: 3000
          servicePort: 3000
          protocol: TCP
      env:
        - key: RATE_LIMIT
          value: '{{ params.rateLimit }}'
        - key: WS_FALLBACK
          value: '{{ params.wsFallback }}'
        - key: PUID
          value: '1000'
        - key: PGID
          value: '1000'

  - name: ingress
    type: ingress
    config:
      host: '{{ params.domain }}'
      tlsEnabled: '{{ params.enableTls }}'
      routes:
        - path: /
          serviceName: '{{ resources.app.serviceName }}'
          servicePort: 3000

your own cloud, in one click.

Free and open source. Runs on any Linux box.

Install Orchard