Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added templates/quickdrop/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added templates/quickdrop/assets/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions templates/quickdrop/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import { Output, Services } from "~templates-utils";
import { Input } from "./meta";

export function generate(input: Input): Output {
const services: Services = [];

services.push({
type: "app",
data: {
serviceName: input.appServiceName,
source: {
type: "image",
image: input.appServiceImage,
},
env: [`PUID=1000`, `PGID=1000`, `TZ=${input.timezone || "Etc/UTC"}`].join(
"\n"
),
domains: [
{
host: "$(EASYPANEL_DOMAIN)",
port: 8080,
},
],
mounts: [
{
type: "volume",
name: "db",
mountPath: "/app/db",
},
{
type: "volume",
name: "log",
mountPath: "/app/log",
},
{
type: "volume",
name: "files",
mountPath: "/app/files",
},
],
},
});

return { services };
}
71 changes: 71 additions & 0 deletions templates/quickdrop/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: QuickDrop
description:
QuickDrop is a self-hosted file sharing app for anonymous uploads with chunked
transfers, optional encryption at rest, per-file passwords, and share tokens
with expiry and download limits. Includes an admin console for storage
policies, cleanup schedules, and notifications.
instructions: >-
Open the app to upload files right away. Set an admin password from the
settings UI to protect the admin console, and optionally enable whole-app
password mode from there too. Uploaded files, the SQLite database, and logs
are stored on persistent volumes.
changeLog:
- date: 2026-08-17
description: first release
links:
- label: GitHub
url: https://github.com/RoastSlav/quickdrop
- label: Documentation
url: https://github.com/RoastSlav/quickdrop#readme
contributors:
- name: Ahson Shaikh
url: https://github.com/Ahson-Shaikh
schema:
type: object
required:
- appServiceName
- appServiceImage
properties:
appServiceName:
type: string
title: App Service Name
default: quickdrop
appServiceImage:
type: string
title: App Service Image
default: roastslav/quickdrop:v1.5.3
timezone:
type: string
title: Timezone
description: "Example: America/New_York"
default: Etc/UTC
benefits:
- title: Anonymous, Chunked Uploads
description:
Accepts large-file uploads via chunked transfers with no account required
from the uploader
- title: Flexible Sharing Controls
description:
Share tokens support expiry dates and download limits, with QR codes
generated for quick sharing
- title: Privacy by Design
description:
Optional encryption at rest, per-file passwords, and the ability to hide
files from the public list or disable it entirely
features:
- title: Admin Console
description:
Manage storage policies, cleanup schedules, and feature flags from a
single-page settings UI that applies changes without a restart
- title: Built-In Previews
description:
Preview images, text, PDF, JSON, and CSV files directly in the browser
with syntax highlighting for code
- title: Notifications and Logging
description:
Get email or Discord webhook notifications, with a unified history log of
uploads, downloads, and renewals
tags:
- File Sharing
- Productivity
- Self-Hosting