Zipline
A next-generation file upload server designed as a ShareX alternative. Fast setup with Docker, supports images, videos, URLs, and more.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
Self-hosted file upload server that outshines ShareX with Docker ease and rich features.
Core Features
- Quick Docker setup with one compose file
- Upload any file type, create short URLs
- Organize with folders and tags
- OAuth2, 2FA, passkeys for security
- Auto image compression & video thumbnails
What It Can't Do
- •Requires a CPU with AVX support (common but not universal). 2. The CORE_SECRET environment variable is mandatory; without it the app won't start. 3. Uses PostgreSQL – have a database ready or let Docker create one. 4. For production, set up a reverse proxy with HTTPS. 5. Switching to S3 storage requires additional configuration.
Use Cases
- Private image/file hosting for individuals
- Team collaboration with controlled uploads
- Replacement for ShareX server backend
- Embedded upload endpoint for Discord or websites
Detailed Introduction
Zipline is a modern, self-hosted file upload server built with Node.js and PostgreSQL. It goes beyond simple file sharing by offering URL shortening, folder organization, tags, embed support, Discord and HTTP webhooks, OAuth2 authentication, two-factor authentication, passkeys, password protection, image compression, video thumbnails, partial uploads, invite-only registration, storage quotas, custom themes, and a fully-featured API. Deployable via Docker with minimal configuration, Zipline is designed for both personal and team use, providing a private, controllable alternative to public services like ShareX. It supports local file storage or S3-compatible object storage, and includes a built-in importer for migrating from previous versions.
Troubleshooting & FAQ (2)
TroubleshootingWhy is my TOTP two-factor authentication code sometimes rejected when logging into Zipline?
Zipline versions prior to 4.6 had strict TOTP validation without time drift tolerance. Codes generated near the end of a 30-second window could be rejected if the server’s clock had advanced. Upgrading to Zipline 4.6 or later adds an epochTolerance of 30 seconds (±30 seconds), allowing codes from the previous or next window to be accepted, resolving the issue.
TroubleshootingWhy do files with spaces in their names cause S3 NoSuchKey errors and thumbnail/rename failures in Zipline?
This bug was fixed in a patch that also resolved issue #1069. Update Zipline to a version newer than 4.5.3 (the affected version) to resolve the issue. The fix ensures that filenames with spaces are correctly handled during chunked upload, thumbnail generation, and rename operations in S3-compatible storage.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Step 1: Create a project folder and write the docker-compose.yml from the docs
Step 2: Generate random passwords and CORE_SECRET with openssl, save to .env
Step 3: Run 'docker compose up -d' to start PostgreSQL and Zipline
- Step 1: Create a project folder and write the docker-compose.yml from the docs
- Step 2: Generate random passwords and CORE_SECRET with openssl, save to .env
- Step 3: Run 'docker compose up -d' to start PostgreSQL and Zipline
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Stop containers and remove volumes: 'docker compose down -v'. Delete the project directory. Note: this will also delete all uploaded files; back them up first.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
2 FAQs
Similar Projects
copyparty
copyparty turns any device into a file server with resumable uploads/downloads using any web browser. Supports HTTP, WebDAV, SFTP, FTP, TFTP, SMB. Only requires Python (2 or 3).
Paperless-ngx
An open-source document management system that turns physical papers into a searchable, organized digital archive. Self-hosted, OCR-powered, and built to eliminate paper clutter forever.
Nextcloud Server
Nextcloud Server is a free, self-hosted productivity platform that puts you in control of your files, contacts, calendars, and communication.