Nomploy Nomad Packs

← All packs

pairdrop v0.1.0

Apps

PairDrop — a browser-based, AirDrop-style file and text sharing tool: send between devices on the same network (peer-to-peer via WebRTC) or paired remotely, with no app and no account. Deployed as a stateless host-networked Nomad service.

nomad-pack run pairdrop --registry nomploy
1 task http 3017 image ghcr.io/schlagmichdoch/pairdrop:latest
Variables 8
values.hcl

Save as values.hcl, edit, then run:

nomad-pack run pairdrop -f values.hcl --registry nomploy
# The name of the Nomad job.
job_name = "pairdrop"

# The Nomad namespace to deploy into.
namespace = "default"

# The datacenters to deploy to.
datacenters = ["*"]

# The PairDrop container image. Pin a tag in production.
image = "ghcr.io/schlagmichdoch/pairdrop:latest"

# Host port for the PairDrop web UI (PORT).
port = 3017

# Enable per-IP rate limiting (RATE_LIMIT).
rate_limit = false

# Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []

# The task resources.
resources = {
    cpu    = 200
    memory = 128
  }
NameTypeDefaultDescription
job_name string
"pairdrop"
The name of the Nomad job.
namespace string
"default"
The Nomad namespace to deploy into.
datacenters list
["*"]
The datacenters to deploy to.
image string
"ghcr.io/schlagmichdoch/pairdrop:latest"
The PairDrop container image. Pin a tag in production.
port number
3017
Host port for the PairDrop web UI (PORT).
rate_limit bool
false
Enable per-IP rate limiting (RATE_LIMIT).
constraints list
[]
Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
resources object
{
    cpu    = 200
    memory = 128
  }
The task resources.
Readme

pairdrop

PairDrop — a browser-based, AirDrop-style file and text sharing tool. Send between devices on the same network (peer-to-peer via WebRTC) or paired remotely — no app, no account.

Stateless host-networked Nomad service.

Deploy

nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run pairdrop --registry=nomploy

Configure

Variable Default Description
port 3017 Web UI port (PORT).
rate_limit false Per-IP rate limiting (RATE_LIMIT).
image ghcr.io/schlagmichdoch/pairdrop:latest Image. Pin a tag in production.
resources { cpu = 200, memory = 128 } Task resources.

Open the URL on two devices to auto-discover and transfer. WebRTC needs a secure context beyond localhost — front it with TLS (caddy / nginx-proxy-manager) for real use.