slink is a free, open source identity & access management (iam) project written in PHP and released under AGPL-3.0. It has 1,592 GitHub stars, 48 forks and 18 open issues, and was last pushed 4 days ago. On this registry it ranks #37 of 52 tracked projects in Identity & Access Management (IAM), with 5 head-to-head comparisons available.

What is slink?

Slink is a self-hosted image hosting and sharing platform — an AGPL-3.0-licensed Imgur alternative built with Symfony and SvelteKit — for homelab operators, developers, artists and teams who want private links, collections, screenshot uploads and optional single sign-on under their own control.

What it is

Slink is a web application, written in PHP on the Symfony framework with a SvelteKit front end, that lets an operator run an image hosting and sharing service on their own infrastructure. It is distributed primarily as a Docker image, anirdev/slink, and ships with documentation at docs.slinkapp.io and a public live demo at demo.slinkapp.io for evaluation before deployment. The project is licensed under AGPL-3.0 and is developed openly on GitHub.

The concrete problem Slink solves is sharing images with friends, family and colleagues in a private environment rather than through a third-party image host. It replaces the hosted image-sharing service pattern — the repository's own topic list labels it an "imgur-alternative" — with software the operator installs. Shares are private by default and accessible only to whoever holds the link; they can optionally require a password or carry an expiration date after which access is automatically revoked. Alongside that, it gives developers a place to host and share screenshots for GitHub, portfolios and blogs, and gives artists a community-focused gallery with public, explorable images, comments and bookmarks.

Key capabilities

  • Privacy-first sharing with private-by-default links, optional password protection, shares that auto-expire, and a dedicated management page to list, edit, publish or revoke shares.
  • URL shortening for image links, and Collections that group images so an entire set can be shared through a single link.
  • Broad upload format support covering PNG, JPG, WEBP, SVG, BMP, ICO, GIF, AVIF, HEIC and TIFF, with multi-file parallel uploads, progress tracking and per-file error handling.
  • Upload-time image compression and deduplication that detects duplicate images and notifies the user.
  • ShareX integration for automatic screenshot uploads, plus guest upload so unauthenticated users can upload without creating accounts.
  • Authentication by email and password, or SSO/OIDC through Google, Authentik, Keycloak, Authelia, Pocket ID and custom OIDC providers, with personal API keys and a public API.
  • Storage providers for local, SMB and AWS S3 backends, with storage usage tracking, an admin dashboard and image moderation controls.
  • Organisation features including nested hierarchical tags with search, upload history in list and grid views, bookmarks, comments and notifications, in a UI translated into English, German, Spanish, French, Italian, Japanese, Polish, Ukrainian and Chinese with dark and light modes.

Who users are and how they deploy it

  • Developers who capture screenshots constantly and want ShareX to push them automatically to their own host instead of a public image service.
  • Artists and communities that want images publicly visible and browsable through Explore, with comments and bookmarks turning the instance into a small gallery.
  • Homelab and self-hosting operators who run the anirdev/slink container and point it at a local volume, an SMB share or an AWS S3 bucket.
  • Teams that already run identity infrastructure, connecting Slink over OIDC to providers such as Keycloak, Authentik or Authelia, and optionally requiring admin approval before a new user can upload.
  • Administrators who need oversight: user and settings management, storage consumption metrics and moderation of image visibility.

Getting started

Slink is deployed as the Docker image anirdev/slink against one of its supported storage providers; the documentation at docs.slinkapp.io covers installation and configuration. A live demo at demo.slinkapp.io is available if the feature set needs checking before a self-hosted deployment.

How it compares

Among the comparable tools named in the facts, Slink is positioned as an Imgur alternative: Imgur is a third-party hosted service, whereas Slink is software under AGPL-3.0 that the operator installs and runs. That distinction is the whole point of the project — images, links and access rules live on infrastructure the operator controls, and sharing happens without relying on third-party services.

When to use it — and when not to

Choose Slink if someone is willing to operate a container and one of the supported storage backends — local disk, SMB or AWS S3 — and, when SSO is wanted, to have an OIDC provider such as Keycloak or Authentik already in place. It is a poor fit for anyone who wants a managed hosted service with no operational responsibility, since the facts describe no hosted offering beyond a demo instance. Two caveats are worth noting: the README marks HEIC and TIFF with an asterisk, suggesting qualifications that the excerpt does not spell out, and the available facts give no release version or cadence, so the project's long-term maintenance rhythm should be checked on the repository before committing to it.

project readme (upstream, from github) — read inline

Slink: Image Sharing Platform

GitHub Workflow Status (with event) Docker Image Version (latest semver) Docker Pulls License

Slink

Welcome to Slink, a powerful self-hosted image sharing platform designed to give users complete control over their media sharing experience. Built with Symfony and SvelteKit, Slink enables seamless and secure image sharing without relying on third-party services.

Live Demo | Documentation

Why Slink?

Slink solves the problem of sharing images with friends, family, and colleagues in a private, self-hosted environment. It's also ideal for:

  • Artists: Showcase artwork in a community-focused platform.
  • Developers: Host and share screenshots for GitHub, portfolios, blogs, and more.
  • Anyone: Take control of image privacy and hosting.

Features

Sharing & Access Control

  • Privacy-First Shares: All shares are private by default; access is granted only to whoever holds the link.
  • Password-Protected Shares: Optionally require a password to view a shared image.
  • Expiring Shares: Set an expiration so a share auto-revokes after a chosen time.
  • Share Management: Dedicated page to list, edit, publish, or revoke your shares.
  • URL Shortening: Shorten image URLs for easier sharing.
  • Collections: Group images and share an entire collection via a single link.
  • Explore: Browse images other users have made publicly visible.

Uploads & Media

  • Image Upload: Supports PNG, JPG, WEBP, SVG, BMP, ICO, GIF, AVIF, HEIC* and TIFF*.
  • Multi-File Upload: Parallel uploads with progress tracking and per-file error handling.
  • Image Compression: Compress images to reduce file size and improve performance.
  • Deduplication on Upload: Detects duplicate images at upload time and notifies the user.
  • Guest Upload: Allow unauthenticated users to upload images without creating accounts.
  • ShareX Integration: Seamless integration with ShareX for automatic screenshot uploads.

Organization

  • Nested Tags: Hierarchical tag management with search capabilities and a dedicated management page.
  • Upload History: Overview of all your uploads with list and grid views.
  • Bookmarks: Save public images for easy access later.
  • Comments: Leave comments on public images for discussion and feedback.
  • Notifications: Receive notifications for user interactions with your images.

Authentication & API

  • Authentication: Email/password sign-up and login.
  • SSO / OIDC: Single Sign-On with support for Google, Authentik, Keycloak, Authelia, Pocket ID, and custom OIDC providers.
  • User Approval: Require user approval before they can upload images.
  • API Keys: Generate and manage personal API keys for external integrations.
  • Public API: A public API to access the platform programmatically.

Personalization

  • Multi-Language UI: Available in English, German, Spanish, French, Italian, Japanese, Polish, Ukrainian, and Chinese.
  • Dark Mode: Includes support for both Dark and Light modes in the application.

Administration

  • Admin Dashboard: Enhanced statistics and analytics for admin users.
  • User & Settings Management: Manage users, storage, and other platform settings.
  • Image Moderation: Full administrative control over image visibility and content moderation.
  • Storage Providers: Support for local, SMB, and AWS S3 storage providers.
  • Storage Usage Tracking: Monitor and display storage consumption metrics.

Don't see a feature you need? Feel free to open an issue or contribute to the project. You may also want to check the list of upcoming features.

Documentation

For more information, visit the official documentation.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Any contributions you make are greatly appreciated, whether they are new features, bug fixes, or code quality improvements.

License

This project is licensed under the AGPLv3 License. See the LICENSE file for details.

Frequently asked questions

Is slink free to use?

slink is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does slink do?

Self-hosted image hosting and sharing platform with private links, collections, S3/SMB storage, OIDC SSO and ShareX support.

What is slink written in?

slink is primarily written in PHP. Its source is publicly available at https://github.com/andrii-kryvoviaz/slink, and it has 1,592 GitHub stars.