Zipline
Zipline gives you lightweight, fast and reliable file sharing server on your own infrastructure.
Open-source file upload server, honestly reviewed. What you actually get when you stop paying for cloud storage.
TL;DR
- What it is: Open-source (MIT) file upload and sharing server — a self-hosted backend for ShareX and FlameShot, plus a capable standalone file manager with its own dashboard [README][1].
- Who it’s for: Developers, power users, and small teams who screenshot constantly, share files frequently, and are tired of Gyazo limits, Imgur compression, or WeTransfer’s 7-day expiry [1].
- Cost savings: Gyazo Pro runs $3.99/mo and still puts your files on someone else’s server. WeTransfer Pro is $12/mo. Zipline self-hosted on a $6 VPS costs $6/mo total — with no file expiry, no compression you didn’t ask for, and no vendor reading your uploads.
- Key strength: The most feature-complete ShareX backend in the self-hosted space. OAuth2, 2FA, passkeys, Discord embeds, URL shortening, image compression, video thumbnails, quotas, invites — all in one Docker Compose file [README].
- Key weakness: Nearly 3K GitHub stars but thin independent review coverage. The docs are solid, but the community is smaller than comparable tools like Nextcloud or Immich. v4 was a complete rewrite from v3 with no migration path [README].
What is Zipline
Zipline is a self-hosted file upload server. The simplest description: you run it on a VPS, point ShareX at it, and every screenshot, screen recording, or file you drag into ShareX lands on your own server instead of Gyazo’s or Imgur’s [1][README].
That’s the core use case, but the project has grown considerably past “ShareX backend.” The dashboard handles folders, tags, URL shortening, metrics, and per-user quotas. It supports OAuth2 login via Discord, GitHub, Google, or any OIDC provider. It generates Discord-style embeds for shared files. It supports passkeys — passwordless authentication — which is ahead of most self-hosted tools at similar star counts [README].
The project is maintained by a developer who goes by “diced” and sits at 2,984 GitHub stars. The active Discord community (the project links to discord.gg/EAhCRfGxCF) is the primary support channel. There’s a v4 that was a ground-up rewrite — the README states explicitly there is “no upgrade path from v3 to v4” [README], which matters if you’re already running an older install.
What the project is not: a general-purpose file sync or backup tool. It’s not Nextcloud. It’s not a photo library like Immich. It’s specifically optimized for the “upload and share a link” workflow, done well.
Why people choose it
The DB Tech review [1] frames Zipline as a direct answer to frustration with existing file-sharing services: Gyazo compresses screenshots, Imgur throttles large uploads, WeTransfer expires links after seven days. Zipline eliminates all three problems because your server, your rules [1].
For ShareX users specifically, the integration is native. Zipline generates a ShareX configuration file from inside the dashboard — you download it, import it into ShareX, and every upload goes to your instance automatically [1]. FlameShot works the same way. This is the audience the tool was built for: people who use screenshot tools professionally and want a personal CDN instead of a third-party host.
The selfh.st newsletter spotlighted Zipline in August 2024 [4], and the framing there was “file upload and sharing server” — positioned in the same category as tools like Chibisafe, XBackBone, and LinShare. What separates Zipline in that group is the breadth of the feature list per unit of setup complexity. Most alternatives make you choose between feature depth and easy deployment. Zipline offers Docker Compose with PostgreSQL and a first-run wizard without sacrificing the feature set [README][1].
The privacy angle is real but straightforward: every file you upload to Gyazo, Imgur, or WeTransfer is on infrastructure you don’t control, subject to their terms, visible to their moderation systems, and liable to disappear if those companies change policies or shut down [1]. Self-hosting removes that dependency entirely.
Features
Based on the README and DB Tech’s hands-on walkthrough [1]:
Core upload experience:
- Upload any file type (images, video, text with syntax highlighting, arbitrary files) [README]
- Chunked/partial uploads for large files — Zipline calls these “partial uploads” and handles the reassembly [README]
- Image compression on upload to save storage [README]
- Video thumbnail generation — automatic, no manual configuration [README]
- Password protection per file or URL [README]
- File expiry settings (optional) [README]
Organization:
- Folders with sharing controls (shareable or private) [1][README]
- Tags for search and filtering [README]
- Per-user quotas — admins can cap how much storage each account uses [README]
Sharing and embeds:
- Discord-style rich embeds when sharing links in Discord — title, description, color [README]
- URL shortener built in, with custom slugs [README]
- Invite system for adding new users without public registration [README]
Auth and security:
- OAuth2 via Discord, GitHub, Google, and any OIDC provider [README]
- Two-factor authentication [README][1]
- Passkeys (passwordless authentication) [README]
- Password protection on individual shares [README][1]
Integrations:
- Discord webhooks for upload notifications [README]
- HTTP webhooks for everything else — all event data available [README]
- Full REST API for programmatic control [README]
Infrastructure:
- Docker and Docker Compose (recommended path) [README]
- PostgreSQL for the database [README]
- S3-compatible storage as an alternative to local disk (AWS S3, Backblaze B2, or any S3-compatible provider) [README]
- Custom themes loaded from a mounted volume [README]
- PWA support — installable as an app on mobile [README]
- Dashboard metrics: upload history, storage usage, stats by period [1][README]
The S3 support is worth calling out specifically. If your VPS disk fills up or you want redundancy, you can switch DATASOURCE_TYPE=s3 and point Zipline at Backblaze B2 or Cloudflare R2 without rebuilding anything [README].
Pricing: SaaS vs self-hosted math
Zipline has no SaaS tier. It’s a self-hosted tool. The relevant comparison is what you’d be paying for the cloud alternatives it replaces:
What people replace with Zipline:
- Gyazo Pro: $3.99/mo — removes ads, adds history, keeps uploads indefinitely. Files are on Gyazo’s servers.
- WeTransfer Pro: $12/mo — removes 2GB transfer limit, keeps files for 1 year (not indefinitely), adds password protection.
- Dropbox Essentials: $16.58/mo — includes 3TB storage and file sharing, but far more than most ShareX users need.
- Imgbox/Postimages: Free with limits, no self-hostable equivalent of the full feature set.
Self-hosting Zipline:
- Software: $0 (MIT license) [README]
- VPS to run it (Hetzner, Contabo, DigitalOcean): $4–10/mo
- Storage: local disk (included in VPS) or S3-compatible (Backblaze B2 at $6/TB/mo, Cloudflare R2 at $15/TB/mo)
- PostgreSQL: bundled in the Docker Compose file, no separate cost [README]
Concrete math: A developer uploading 200 screenshots and clips per month to Gyazo Pro pays $47.88/year. Self-hosting Zipline on a $6 Hetzner VPS costs $72/year — but you get unlimited users, no file caps, no vendor lock-in, and the full feature set including URL shortening and Discord webhooks. Add another user and the VPS math improves further; Gyazo Pro is per-account.
For teams where multiple people need file hosting, the economics flip fast. Three people on Gyazo Pro = $143.64/year. One shared Zipline instance on a $10 VPS = $120/year with no per-user fees and no storage limits beyond your disk.
The genuine tradeoff is your time. Self-hosting costs 30–60 minutes to set up and periodic maintenance. Cloud services cost nothing in time. That’s the honest calculation.
Deployment reality check
The recommended install is Docker Compose with PostgreSQL. The README ships a complete compose file — copy it, generate two secrets with the provided openssl command, run docker compose up -d, access on port 3000 [README]. The DB Tech review confirms this works as described: deploy the stack, Zipline sets up its database, access the dashboard, configure ShareX by downloading the generated config [1].
What you actually need:
- A Linux VPS (1GB RAM is workable for light use, 2GB+ if you expect concurrent uploads)
- Docker and docker-compose
- A domain and reverse proxy (nginx, Caddy) if you want HTTPS — Zipline doesn’t handle TLS itself
- The two environment secrets the README specifies; without
CORE_SECRET, Zipline won’t start [README]
Storage options:
- Local: mount
./uploadsas a volume, simplest path [README] - S3: set four environment variables (
DATASOURCE_TYPE=s3, access key, secret, bucket, region) and point to any S3-compatible provider [README]
What can go wrong:
- v3 → v4 migration is unsupported. The README states this explicitly: “there is no upgrade path from v3 to v4” [README]. If you’re running v3, you’re starting fresh. Back up your files manually before attempting anything.
- No built-in TLS. You need a reverse proxy. Caddy is the easiest path for non-technical users; nginx requires more config.
- Metrics inconsistencies. The DB Tech review [1] notes that some users reported inconsistencies in the stats dashboard — data displayed didn’t always match actual uploads. Flagged as something that “may improve with upcoming versions.”
- Community size. With ~3K GitHub stars and a Discord-first support model, the community is active but small. If you hit an unusual configuration issue, answers will come from Discord or opening a GitHub issue — not Stack Overflow.
Realistic time for a technically comfortable user: 45–90 minutes including domain, Caddy, and ShareX configuration. For someone following the docs carefully but new to Docker: 2–3 hours. The documentation at zipline.diced.sh is well-organized and covers Docker, OAuth, and reverse proxy setup explicitly [README].
Pros and Cons
Pros
- MIT license, no strings. Self-host, modify, embed in your own service — no commercial restrictions, no “fair-code” asterisks [README].
- Best-in-class feature density for a ShareX server. OAuth2, 2FA, passkeys, S3 support, video thumbnails, URL shortening, Discord embeds, HTTP webhooks — this is not a barebones upload script [README][1].
- S3-compatible storage backend. Swap local disk for Backblaze B2 or Cloudflare R2 without changing anything else. Critical for installs that outgrow VPS storage [README].
- Multi-user with quotas and invites. Not just a personal tool — you can run it for a small team, cap per-user storage, and invite users without open registration [README].
- Active development. v4 was a complete rewrite that shipped. The commit history and Discord activity suggest this isn’t abandonware [README][4].
- Passkeys. Most self-hosted tools at this star count don’t have this. It’s a real differentiator for security-conscious users [README].
Cons
- No upgrade path from v3 to v4. If you’re on an older install, you’re migrating manually [README]. This is a significant pain point for anyone who’s been running Zipline for a while.
- Thin independent review coverage. Three years in, with ~3K stars, there’s almost no third-party review content about the actual self-hosted tool. That’s not inherently bad, but it means less community knowledge to draw from when troubleshooting [1][4].
- Stats dashboard inconsistencies reported. At least one reviewer noted that metrics didn’t always display accurately [1]. Minor for most use cases; meaningful if you’re tracking usage precisely.
- No TLS out of the box. Requires a separate reverse proxy. This is standard for Docker-based self-hosted tools, but it’s an extra step that trips up newer users.
- Discord-first support. If you prefer async GitHub issues or forums, the support model here skews toward Discord. Not a dealbreaker, but worth knowing before you run into a problem.
- Small community relative to Nextcloud or Immich. Less community documentation, fewer third-party guides, fewer integrations with other self-hosted stacks [4].
Who should use this / who shouldn’t
Use Zipline if:
- You use ShareX, FlameShot, or a similar screenshot tool daily and want your own upload backend instead of Gyazo or Imgur.
- You share files frequently and are tired of WeTransfer’s link expiry or Gyazo’s compression.
- You want a multi-user file host for a small team where you control the storage and the terms.
- You’re comfortable with Docker Compose and setting up a reverse proxy, or willing to spend an afternoon learning.
- S3-compatible storage matters to you — you want uploads in Backblaze B2 or Cloudflare R2, not on a local disk.
Skip it (stay on Gyazo/Imgur) if:
- You upload fewer than 50 files a month and the free tiers cover you.
- You’ve never run a Docker container and don’t want to start.
- You need guaranteed uptime SLAs — a $6 VPS you manage yourself won’t match a commercial service.
Skip it (use Nextcloud) if:
- You need file sync across devices (Nextcloud has a desktop/mobile client, Zipline doesn’t).
- You need calendar, contacts, or office document editing alongside file storage.
- You want a UI designed for non-technical end users who aren’t managing an upload server.
Skip it (use Immich) if:
- You’re primarily managing a photo library with face recognition, album organization, and mobile backup. Immich is purpose-built for that; Zipline is not.
Alternatives worth considering
- Chibisafe — another ShareX-compatible self-hosted upload server. Closer feature parity than most alternatives; fewer stars than Zipline (~2K). Worth comparing if Zipline’s v3→v4 situation concerns you.
- XBackBone — simpler ShareX backend, single-user focus, lighter resource requirements. Better choice if you want something with minimal moving parts.
- Nextcloud — the full-featured open-source file platform. Much heavier, much more capable. Use it if you need file sync, not just upload and share.
- Immich — photo library management with automatic backup from mobile. Not a ShareX backend, but often the destination for people leaving Google Photos.
- FileBrowser — dead-simple web file manager for files already on your server. No upload server features, but useful as a companion.
- Plik — temporary file upload service, à la WeTransfer. Self-hosted with link expiry. Different use case (temporary sharing) but worth knowing about.
- Shlink — dedicated URL shortener. If all you need is the URL shortening part of Zipline, Shlink is better at that specific job. Not mutually exclusive.
For a developer who wants a ShareX backend with real features and doesn’t mind a Docker Compose deploy, Zipline vs. Chibisafe is the realistic choice. Zipline is more feature-complete; Chibisafe has a longer continuous history without a breaking rewrite.
Bottom line
Zipline does one thing well: it gives you a personal or team file upload server that beats every cloud alternative on features, cost, and data ownership. The ShareX integration is seamless, the feature list is genuinely impressive for a ~3K star project, and the MIT license means you own it outright. The honest caveats are the v3→v4 break (a migration headache if you’re already running it), a thin external review record, and the standard self-hosting tax of setting up a reverse proxy and managing a VPS. For a developer or technically capable founder who uploads files constantly and is tired of paying Gyazo or watching WeTransfer links expire, the math is clear: one afternoon of setup, $6/mo, and you never think about it again.
If the setup is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev deploys for clients.
Sources
- DB Tech Reviews — “Unlocking Productivity with Zipline: The Future of File Sharing” (Sep 12, 2024). https://dbtechreviews.com/2024/09/12/unlocking-productivity-with-zipline-the-future-of-file-sharing/
- selfh.st — “This Week in Self-Hosted (9 August 2024)” — Zipline spotlight. https://selfh.st/weekly/2024-08-09/
Primary sources:
- GitHub repository and README: https://github.com/diced/zipline (2,984 stars, MIT license)
- Official website and documentation: https://zipline.diced.sh
Features
Authentication & Access
- OAuth / Social Login
- Single Sign-On (SSO)
- Two-Factor Authentication
Integrations & APIs
- Discord Integration
- REST API
- Webhooks
Search & Discovery
- Categories / Folders
Media & Files
- Image Processing
Customization & Branding
- Themes / Skins
Category
Replaces
Related File Management & Sharing Tools
View all 133 →Syncthing
81KOpen-source continuous file synchronization — peer-to-peer, encrypted, no central server, no cloud account required.
LocalSend
77KAn open-source, cross-platform alternative to AirDrop — share files between nearby devices over your local network without the cloud.
MinIO
61KHigh-performance, S3-compatible object storage for AI, analytics, and cloud-native workloads. Deploy on-premises or in any cloud with a single binary.
Rclone
56KCommand-line tool that syncs, copies, and manages files across 70+ cloud storage providers. The rsync for cloud storage.
AList
49KFile list program that aggregates multiple storage backends into a single web interface with WebDAV support. Mount cloud drives, local storage, and S3 in one place.
copyparty
44KCopyparty is a portable, single-file Python file server with resumable uploads, deduplication, WebDAV, SFTP, FTP, media indexing, and audio transcoding — no dependencies required.