Zipline
A ShareX/file upload server that is easy to use, packed with features, and with an easy setup!
Alternative to: imgur, cloudapp, sharex, gyazo
Zipline is a fast, self-hosted file, image, and media sharing server with a full web dashboard, built as a modern alternative to ShareX's default hosted upload targets. It supports chunked/partial uploads, folders, tags, URL shortening, image compression, and video thumbnails, and can store files on the local filesystem or S3-compatible storage. It also offers OAuth2, two-factor authentication, passkeys, password-protected links, and Discord/HTTP webhooks for automation.
Zipline Docker Compose example
Self-host Zipline on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Zipline in Docker containers using the official postgres:16, ghcr.io/diced/zipline:latest images, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
postgresql:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: "zipline"
POSTGRES_DB: "zipline"
# Password for the PostgreSQL database user
POSTGRES_PASSWORD: "zipline"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "zipline"]
interval: 10s
timeout: 5s
retries: 5
zipline:
image: ghcr.io/diced/zipline:latest
restart: unless-stopped
environment:
# PostgreSQL connection string used by Zipline
DATABASE_URL: "postgres://zipline:zipline@postgresql:5432/zipline"
# Secret used to sign tokens and sessions. Must be at least 32 characters and different from the default.
CORE_SECRET: "changemechangemechangemechangeme"
depends_on:
postgresql:
condition: service_healthy
volumes:
- uploads:/zipline/uploads
- public:/zipline/public
- themes:/zipline/themes
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://0.0.0.0:3000/api/healthcheck"]
interval: 15s
timeout: 2s
retries: 2
volumes:
pgdata:
uploads:
public:
themes:
Values set to changeme are required — replace them with your own
values before starting Zipline.
Prefer a managed setup? WinterFlow installs, configures, and updates Zipline for you using this same Docker Compose configuration.