OpenSource-Hub
Z

Zipline

3.1k stars·File Management·SHA-256 checksum verified

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)

Troubleshooting
Why 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.

GitHub Issue #1081
Troubleshooting
Why 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.

GitHub Issue #1070

Tags

file-uploadsharexself-hosteddockernodejsimage-hostingurl-shortener

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Create a project folder and write the docker-compose.yml from the docs

4

Step 2: Generate random passwords and CORE_SECRET with openssl, save to .env

5

Step 3: Run 'docker compose up -d' to start PostgreSQL and Zipline

Install Guide
  1. Step 1: Create a project folder and write the docker-compose.yml from the docs
  2. Step 2: Generate random passwords and CORE_SECRET with openssl, save to .env
  3. Step 3: Run 'docker compose up -d' to start PostgreSQL and Zipline
File Integrity

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 Source
Environment Guide

Uninstall 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.

Project Info
LicenseMIT
Last Updated2026-06-26 03:30:10
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects