Resources
PairDrop
-
app
lscr.io/linuxserver/pairdrop:latest
Running
-
ingress
drop.example.com
Live
Parameters
Deploy PairDrop
App Name required
drop
Domain required
drop.example.com
Rate limit
Off
WebSocket fallback
On
For networks that block WebRTC
Enable HTTPS
On
Cancel Deploy
YAML
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