Repolode
diced

diced/zipline

A self-hosted file upload server built for ShareX, with sharing, galleries and short links.

Open-source alternative to:ImgurBitly

Stars
3,467
Forks
259
Open issues
5
Last commit
2 days ago

What is it?

Zipline is a self-hosted server for uploading and sharing files, screenshots and images, designed to work as a ShareX upload target. Users upload files through the web interface or the API, and Zipline returns shareable links.

It stores files on the local filesystem or in S3-compatible storage and runs on PostgreSQL, typically deployed with Docker Compose. Users can organize uploads into folders and tags, shorten URLs, set password protection, and get embeds for chat and social previews.

For administration, Zipline supports OAuth2, 2FA, passkeys, invites, and per-user quotas. It also offers custom themes and a PWA interface.

Key features

  • 01Upload files and screenshots via the web UI, API, or ShareX
  • 02Store files on local disk or S3-compatible storage
  • 03Organize uploads with folders and tags
  • 04Shorten URLs and set password protection on shares
  • 05Sign-in with OAuth2, 2FA, and passkeys
  • 06Manage users with invites and storage quotas

Use cases

  • Hosting your own ShareX screenshot and file upload endpoint
  • Sharing files with others through self-controlled links instead of a third-party host
  • Running a small team or family image host with invites and quotas

Quick start

  1. 1

    Create the .env file with generated PostgreSQL password

    echo "POSTGRESQL_PASSWORD=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" > .env
  2. 2

    Add the CORE_SECRET to the .env file

    echo "CORE_SECRET=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" >> .env
  3. 3

    Create docker-compose.yml from the README example, then start Zipline

    docker compose up -d

Things to know

  • Requires a CPU with AVX support; no binaries or images are provided for non-AVX CPUs.
  • Upgrading from v3 requires exporting and importing data, since there is no direct upgrade path.

In collections

Topics

FAQ

What is zipline?
A self-hosted file upload server built for ShareX, with sharing, galleries and short links. Zipline is a self-hosted server for uploading and sharing files, screenshots and images, designed to work as a ShareX upload target. Users upload files through the web interface or the API, and Zipline returns shareable links.
Is zipline free to use? What license does it have?
zipline is open source under the MIT license. Check the license terms before using it in commercial products.
Is zipline still maintained?
Actively maintained. The last commit to zipline was on Oct 23, 2026.
What can I use zipline for?
Hosting your own ShareX screenshot and file upload endpoint Sharing files with others through self-controlled links instead of a third-party host Running a small team or family image host with invites and quotas
How do I install zipline?
Create the .env file with generated PostgreSQL password: echo "POSTGRESQL_PASSWORD=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" > .env Add the CORE_SECRET to the .env file: echo "CORE_SECRET=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" >> .env Create docker-compose.yml from the README example, then start Zipline: docker compose up -d
Where can I get zipline?
The source code and installation instructions are on GitHub: https://github.com/diced/zipline

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects