Skip to content
You're viewing documentation for v1.0. It may be out of date.Go to latest
jalco-drop
Esc
↑↓navigate↵open⌘Jpreview
On this page

Quickstart

Set up jalco-drop on Cloudflare in a few minutes, or as a Docker container on any server.

You need Node 22.18 or newer. Pick where it runs.

The fastest way is the button. It forks the repo into your GitHub account, creates the R2 bucket, asks for an ADMIN_TOKEN (any long random string; save it in a password manager) and deploys to a workers.dev address. Add your own domain afterwards under the Worker’s Domains & Routes.

To set it up from your terminal instead:

You need a Cloudflare account with the domain you want to serve from, R2 enabled, and Browser Rendering (on the Workers Free plan, 10 browser minutes a day, about one preview card per upload).

Create the project

npx jalco-drop init my-drop

Setup copies the project and asks for your domain, your name, a site name, an accent colour, a code theme and where / should redirect. Every question has a default.

Deploy

Answer yes when setup offers to deploy. It signs in to Cloudflare, creates the R2 bucket, deploys the Worker, and prints a new admin token once. Save it in a password manager.

Upload something

export JALCO_DROP_URL=https://drop.example.com
export JALCO_DROP_TOKEN=<your admin token>
bin/jalco-drop README.md

On Render, the button runs the image with a 10 GB disk and generates the admin token for you. Render needs a paid plan for disks.

On your own server:

You need Docker and a server with a domain pointed at it.

Create the project

npx jalco-drop init my-drop --target docker

Setup writes .env (with a fresh admin token) and docker-compose.yml.

Start it

cd my-drop
docker compose up -d --build

The image includes Chromium, so preview cards work out of the box. Files go to the drop-data volume.

Put TLS in front

Point your domain at the server through a reverse proxy with TLS, such as Caddy, nginx or Cloudflare Tunnel, forwarding to port 3000.

Was this page helpful?