selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
clipable logo

Self-host clipable

1.0.6

Self-hosted video sharing platform alternative to Streamable

ReleaseSource AvailableOther
Updated2 years ago
LanguageGo
Setup difficultyModerate
MobileResponsive
Stars
357
Ports
80 (HTTP web interface), 8080 (Application server (internal))
Requires
MinIO (S3-compatible storage), PostgreSQL
Docker
ghcr.io/clipable/clipable
Clipable web interface preview showing video hosting UI

What is clipable?

This project provides a self-hosted video sharing platform inspired by Streamable and YouTube, giving individuals and organizations full control over their video content. It offers a web interface for uploading, sharing, and watching videos with configurable quality profiles, S3-compatible object storage via MinIO, user accounts with optional registration, fuzzy search, and a documented REST API. The backend is built with Go and TypeScript and uses FFmpeg to transcode all common video formats. Deployment uses Docker Compose to orchestrate the application, a PostgreSQL database, and MinIO storage. The code is licensed under BSL 1.1, converting to GPL v2.0+ after four years. A public view-only demo runs at clipable.net.

Should you self-host clipable?

clipable scores 44/100 on selfhost.directory (how scoring works) and ranks #27 of 36 in Video Streaming. It has 357 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is piped (70/100, 10 293 stars). It scores higher overall, so compare the two before you pick. See clipable vs piped side by side.

Features

  • Configurable video quality profiles
  • Docker-based deployment
  • FFmpeg-based video encoding
  • Fuzzy video search
  • Prometheus metrics endpoint
  • REST API
  • S3-compatible video storage
  • User accounts and registration
  • Video upload and hosting

clipable README

How to configure clipable

  • ALLOW_REGISTRATIONtrueControls whether the front and backend should allow registration

    Controls whether the front and backend should allow registration

    values: true/false

  • COOKIE_DOMAINmydomain.comDomain for cookies

    Domain for cookies

    values: Domain name

  • COOKIE_KEYmycookiekey12345Password used to derive cookie encryption key

    Password used to derive cookie encryption key

    values: Secret key string

  • DB_HOSTpostgresHostname for database server connection

    Hostname for database server connection

    values: Hostname

  • DB_IDHASHKEYmydbidkeythatishouldchange123Key for encrypting database IDs (changing breaks existing URLs)

    Key for encrypting database IDs (changing breaks existing URLs)

    values: Secret key string

  • DB_NAMEpostgresDatabase name for connection

    Database name for connection

    values: Database name

  • DB_PASSWORDpostgresPassword for database connection

    Password for database connection

    values: Password

  • DB_PORT5432Port number for database server connection

    Port number for database server connection

    values: Port number

  • DB_USERpostgresUsername for database connection

    Username for database connection

    values: Username

  • DEBUGtrueEnables debug mode with additional system information and CORS leeway

    Enables debug mode with additional system information and CORS leeway

    values: true/false

  • FFMPEG_CODEClibx264Default FFmpeg codec used for encoding

    Default FFmpeg codec used for encoding

    values: libx264, h264_nvenc (for GPU)

  • FFMPEG_CONCURRENCY1Maximum number of concurrent FFmpeg processes

    Maximum number of concurrent FFmpeg processes

    values: Integer

  • FFMPEG_PRESETmediumCompression preset for FFmpeg (balance between speed and efficiency)

    Compression preset for FFmpeg (balance between speed and efficiency)

    values: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo

  • FFMPEG_QUALITY_PRESETS640x360-30@1,854x480-30@2.5,1280x720-30@5,1920x1080-30@8,1920x1080-60@12,2560x1440-30@16,2560x1440-60@24,3840x2160-30@45,3840x2160-60@68,7680x4320-30@160,7680x4320-60@240Output targets for video encoding (width x height - fps @ bitrate)

    Output targets for video encoding (width x height - fps @ bitrate)

    values: Comma-separated list of {WIDTH}x{HEIGHT}-{FPS}@{BITRATE}

  • FFMPEG_THREADS0Maximum number of threads for a single FFmpeg process (0 = auto)

    Maximum number of threads for a single FFmpeg process (0 = auto)

    values: Integer

  • FFMPEG_TUNEfilmTuning option for FFmpeg for specific video content types

    Tuning option for FFmpeg for specific video content types

    values: film, animation, grain, stillimage, psnr, ssim, zerolatency, fastdecode

  • LISTENADDR:8080IP address and port for the application to listen on

    IP address and port for the application to listen on

    values: IP:PORT format

  • MAX_UPLOAD_SIZE5gbMaximum video size that can be uploaded

    Maximum video size that can be uploaded

    values: Size string (e.g., 5gb, 100mb)

  • METRICSLISTENADDR127.0.0.1:9991IP address and port for Prometheus metrics to listen on

    IP address and port for Prometheus metrics to listen on

    values: IP:PORT format

  • S3_ACCESSminioAccess key for S3 storage provider

    Access key for S3 storage provider

    values: Access key

  • S3_ADDRESSminio:9000URL for S3 storage provider

    URL for S3 storage provider

    values: Host:port or URL

  • S3_BUCKETclipsName of the S3 bucket for video storage

    Name of the S3 bucket for video storage

    values: Bucket name

  • S3_SECRETmyminiokeythatishouldchange123Secret key for S3 storage provider

    Secret key for S3 storage provider

    values: Secret key

  • S3_SECUREfalseWhether SSL should be enforced when connecting to S3

    Whether SSL should be enforced when connecting to S3

    values: true/false

clipable releases & version history

More in File Sharing & Collaboration

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…