unsubbed.co

Picsur

Picsur is a TypeScript-based application that provides simple imaging hosting platform that allows you to host, edit, and share images.

Self-hosted image sharing, honestly reviewed. Including the part where the developer stopped working on it.

TL;DR

  • What it is: A self-hosted image sharing service in the Imgur mold — upload, share, convert, view. The developer calls it “totally not an Imgur clone” and then lists every Imgur feature [README].
  • Who it’s for: Individuals or small teams who want a private, self-controlled image host for internal sharing, screenshot workflows (ShareX integration), or a personal CDN replacement.
  • Maintenance status: Abandoned. The README opens with “NOT MAINTAINED” in bold. AlternativeTo lists it as “Discontinued” [1][README]. This is the most important fact in this review.
  • Cost savings: Imgur is free for casual use but runs ads, compresses images, and has removed third-party embedding multiple times. A self-hosted Picsur instance costs $5–10/mo VPS, gives you permanent storage, and keeps EXIF data stripping on your terms [README].
  • Key strength: Genuinely broad format support (QOI, HEIF, WEBP animated, JXL, JPEG 2000 — most tools skip half that list), inline image conversion, and a clean ShareX endpoint [README].
  • Key weakness: The project has no active maintainer. Security vulnerabilities discovered after the maintainer’s departure will not be patched. For anything public-facing, this is a serious risk.

What is Picsur

Picsur is a self-hosted web application for uploading, converting, and sharing images. You get a URL per image, shareable directly. It supports anonymous uploads, registered user accounts, role-based permissions, and on-the-fly image conversion between formats. The developer describes it as “a hybrid between Imgur and Pastebin” [README].

The project was created because, in the developer’s words, they “couldn’t really find any open source project that allowed you to easily host images” [README]. That’s the pitch: a simple private Imgur where you control what stays up, who can upload, and how long images persist.

Technically, it runs as a Docker container with a PostgreSQL backend. Images are stored internally in QOI format — a newer lossless format optimized for encode/decode speed — then converted to whatever format the client requests [README]. This means the server does format negotiation at serving time, not upload time. Upload a HEIF photo from your iPhone; serve it as WebP to browsers.

The project sits at 1,219 GitHub stars [merged profile], which puts it in the “technically viable niche tool” range rather than the “community-backed project you can count on.” That number was accumulated before the maintenance notice went up. Since then, forks exist but no fork has emerged as a clear successor.


Why people choose it

The AlternativeTo listing [1] categorizes Picsur under “Image Hosting Service” with platforms listed as Linux, Online, and Self-Hosted. Four people have liked it there, which is a low number — but the actual self-hosted community interest has always lived in Reddit threads and Discord servers rather than AlternativeTo upvotes.

The underlying problem Picsur solves is real. Imgur’s history with third-party images is a cautionary tale: the service has repeatedly broken or restricted image embedding for non-Imgur links, deleted old content, introduced compression that degrades screenshots, and layered ads over what used to be clean direct-image URLs. For anyone who embedded Imgur links in documentation, issue trackers, or internal wikis over the past decade, the pain of dead images is familiar.

Self-hosters pick Picsur specifically for three reasons. First, ShareX integration — the screenshot tool used heavily by developers and ops teams has a first-class Picsur endpoint, making it the path-of-least-resistance image host for anyone already using ShareX [README]. Second, EXIF stripping by default — images uploaded through Picsur have location data, camera metadata, and device info stripped before storage, which matters for privacy-conscious individuals or teams handling sensitive screenshots [README]. Third, format conversion without a separate tool — uploading a TIFF and serving it as WebP requires no ImageMagick setup, no conversion script, just Picsur [README].

The “Imgur alternative” framing in the AlternativeTo listing [1] is accurate but slightly misleading — Picsur isn’t trying to replicate Imgur’s social layer (voting, comments, galleries). It’s the image hosting part only. The comparison that fits better is Picsur versus running your own S3 bucket with a URL shortener in front of it.


Features

From the GitHub README [README]:

Image handling:

  • Upload and view images via web UI or API
  • Anonymous uploads (configurable — off by default to prevent abuse)
  • Expiring images with configurable TTL
  • Deletable images
  • Original file retention (optional — off by default, EXIF data is kept if enabled, so worth understanding before toggling on)

Format support:

  • QOI (primary internal storage format)
  • JPG, PNG, WEBP (animated), TIFF, HEIF, BMP, GIF (animated), JXL, JPEG 2000
  • On-the-fly conversion between any supported formats

Image editing:

  • Resize, rotate, flip
  • Strip transparency, negative, greyscale
  • These are server-side transforms applied at serving time, not destructive edits to stored originals

Access control:

  • User accounts with roles and permissions
  • RBAC — you configure what guests, registered users, and admins can do
  • Proper CORS restrictions
  • Guest registration is off by default (you flip a permission to enable it)

Infrastructure:

  • Docker + Docker Compose deployment
  • ARM64 and AMD64 images
  • PostgreSQL backend with proper migrations
  • REST API
  • ShareX endpoint
  • Correct Open Graph / embed previews for chat applications (Slack, Discord, etc.)

What’s missing:

  • White/light mode — the README listed this as planned but never shipped [README]
  • Public gallery — also listed as planned, never shipped [README]
  • Albums — same [README]

The missing features matter for how you evaluate the tool. If you want a personal photo gallery with albums, Lychee or Immich covers that. Picsur is specifically for quick URL-based image sharing, not photo management.


Pricing: SaaS vs self-hosted math

Picsur has no SaaS tier. The project is AGPL-3.0 licensed [merged profile], meaning the software is free to self-host. The demo at picsur.org runs a live instance but deletes all images after five minutes and caps file size at 16MB — it’s a demo, not a service [README].

Self-hosted cost breakdown:

  • Picsur license: $0 (AGPL-3.0)
  • VPS: $5–10/mo (2GB RAM is enough; Picsur is not resource-intensive)
  • Storage: depends on your volume — a $5 VPS usually includes 20–40GB; extra volumes are $0.10/GB/mo on most providers
  • PostgreSQL: bundled in the default docker-compose, no extra cost

What you’re replacing:

  • Imgur: free but compresses, serves ads, has a history of breaking third-party embeds
  • PostImage.org [1]: free but proprietary, no control over retention
  • A private S3 bucket with CloudFront: roughly $1–5/mo depending on bandwidth, but significantly more setup and no built-in UI
  • Cloudflare Images: $5/mo for 100k images stored, $1 per additional 100k — starts to matter at scale

For a developer or small team using this as an internal screenshot/image host, the math is simple: $5/mo VPS replaces either ad-supported free services or the complexity of managing a cloud storage pipeline. The cost savings aren’t dramatic because the alternatives are cheap or free — the value is control, not savings.


Deployment reality check

Deployment is Docker Compose with PostgreSQL. The README includes a complete example docker-compose file [README]. The default setup exposes port 8080; you add a reverse proxy (Caddy or nginx) for HTTPS.

What you actually need:

  • A Linux VPS, any size — 1GB RAM works, 2GB comfortable
  • Docker and docker-compose installed
  • A domain name and reverse proxy for HTTPS (clipboard API requires HTTPS — without it, the copy-to-clipboard button silently fails [README])
  • PostgreSQL via the bundled container or your own instance

Environment variables of note:

  • PICSUR_ADMIN_PASSWORD — sets the default admin password. If you forget to set this, the README doesn’t specify what happens; read the docker-compose before deploying [README]
  • PICSUR_DB_HOST — points to PostgreSQL

Realistic time estimate: 20–45 minutes for a developer familiar with Docker. Under two hours for someone following a guide carefully. The main friction points are setting up HTTPS correctly and understanding the permission system for guest uploads.

The elephant in the room: the project is unmaintained. The README says so directly [README]. AlternativeTo marks it “Discontinued” [1]. What this means practically:

  • Security vulnerabilities discovered in Picsur’s dependencies or code will not receive patches
  • Bugs will not be fixed
  • There is no upgrade path for future Docker or PostgreSQL versions from the original author
  • The database migration tooling works for current versions but may break if you update PostgreSQL under it

For a private, non-public-facing instance on a trusted network (internal team tool, personal use behind a VPN), the abandoned state is tolerable if you’re comfortable maintaining it yourself. For a public-facing image host where anonymous users can upload files, running unmaintained software that accepts file uploads is a real risk. File upload handlers are a classic attack surface [README mentions anonymous uploads are possible when configured].


Pros and Cons

Pros

  • Genuinely broad format support. HEIF, JXL, JPEG 2000, animated WEBP, animated GIF — this list is better than most image tools [README]. The QOI internal format is a thoughtful choice for a storage layer.
  • EXIF stripping by default. Most image hosts don’t do this. Picsur strips metadata on upload by default, so location data from phone photos doesn’t leak when you share a URL [README].
  • ShareX integration. First-class endpoint makes it a natural fit for anyone already using ShareX for screenshots [README].
  • Correct chat embeds. Images shared from Picsur preview correctly in Slack, Discord, iMessage. Small thing, frequently broken in simpler solutions [README].
  • AGPL-3.0 license. Free to self-host, source code available, no vendor lock-in [merged profile].
  • RBAC that actually works. Role and permission system lets you run a locked-down private instance (no guest uploads) or an open one, without config file gymnastics [README].
  • On-the-fly conversion. Upload once, serve in any supported format. No manual conversion step [README].
  • Docker on ARM64 and AMD64. Works on both Raspberry Pi class hardware and standard cloud VMs [README].

Cons

  • Abandoned. Not maintained. This deserves first billing in the cons. The README opens with it [README], AlternativeTo confirms it [1]. No security patches are coming.
  • No public gallery or albums. The feature list includes these as planned but the maintainer stopped before shipping them [README]. If you need photo management, this isn’t the tool.
  • Beta-quality codebase. The README explicitly labels the project as beta and notes “many things are still missing, or will be changed in the future” [README]. Given it’s now abandoned in beta, that future never came.
  • No light mode. Also listed as planned, also never shipped [README]. The UI is dark-only.
  • Small community, no successor. 1,219 stars [merged profile], 4 AlternativeTo likes [1]. There are forks but no active community pick-up. If you hit a bug, you fix it yourself or you don’t.
  • AGPL-3.0 copyleft. If you embed Picsur in a commercial product or SaaS, AGPL requires you to open-source the entire application stack. Fine for personal use, worth understanding if you’re building a product on it.
  • Original files keep EXIF if retention is enabled. The README explicitly warns: if you enable “keep original,” EXIF data is preserved in originals. Easy to miss [README].

Who should use this / who shouldn’t

Use Picsur if:

  • You want a personal, private image host for developer workflows — screenshots, documentation images, ShareX uploads — and you’re comfortable accepting that no security patches are coming.
  • You need format conversion (especially HEIF from iPhone photos to WebP for web use) without a separate toolchain.
  • You’re running it on a private network or behind a VPN, not exposed to anonymous public uploads.
  • You’re comfortable maintaining a Docker deployment yourself if something breaks.

Skip it if:

  • You want to run a public image host where strangers can upload. Unmaintained file upload handlers on public infrastructure are a real security exposure.
  • You need albums, a gallery view, or any photo management beyond “upload and share URL.”
  • You’re not technical enough to maintain a Docker deployment when things break — and with abandoned software, things eventually break.
  • Long-term stability matters. An abandoned project with no active fork is a migration waiting to happen.

Consider a maintained alternative instead if:

  • You want Imgur-style public image sharing: look at Lychee (actively maintained, has albums and galleries).
  • You want a full photo manager: Immich or Photoprism.
  • You just want to host images and share URLs and will never touch the code: a basic file server behind Caddy with a folder listing does 80% of what Picsur does with zero maintenance burden.

Alternatives worth considering

From the AlternativeTo data [1] and the broader self-hosted image hosting space:

  • Lychee — actively maintained, more mature, has albums and gallery views, better long-term bet for anything beyond basic URL sharing [4 mentions in broader catalogues].
  • Immich — if you want photo management (backup from phone, face detection, albums), Immich is the dominant self-hosted option right now. Different category from Picsur but often what people actually need.
  • Photoprism — similar to Immich, feature-rich photo library manager.
  • Chevereto — commercial image hosting platform with a free tier, actively maintained, more polished than Picsur.
  • rimgo — a read-only Imgur proxy, not a hosting solution, but scratches the “Imgur without the ads” itch differently [1].
  • Standard S3 + CloudFront — if you’re already in AWS, a private bucket with a simple upload script and signed URLs costs $1–5/mo and requires zero ongoing maintenance. Less convenient UI, but no abandoned code in the path.
  • Imgur itself — still free, still works, you just don’t control retention or compression. Acceptable for many use cases the Picsur README is targeting.

The realistic choice for someone reading this is: Lychee if you want an active project, Picsur if you specifically want the QOI-based format conversion pipeline and are comfortable with maintenance risk.


Bottom line

Picsur is a technically competent tool that was building toward being a useful self-hosted Imgur replacement — and then the developer ran out of time and moved on. The format support is genuinely impressive (HEIF, JXL, animated WEBP, QOI), the ShareX integration is clean, and the EXIF-stripping default is thoughtful. For a private, VPN-gated developer instance where you’re mostly sharing screenshots and documentation images, it does the job and costs $5/mo to run.

The problem is the maintenance status. The README says “NOT MAINTAINED” at the top [README], AlternativeTo says “Discontinued” [1], and no active fork has emerged. Running unmaintained software that accepts file uploads, especially in any public-facing configuration, is not a defensible choice in 2026. If you self-host it today, you’re accepting that security vulnerabilities will go unpatched and you’ll eventually need to migrate.

If you deploy it anyway — keep it private, keep it behind a VPN, stay current on PostgreSQL CVEs yourself. If you need something you can run for the long haul, Lychee is the maintained alternative with a similar install profile.

If migrating off Picsur (or any self-hosted tool) becomes a project, that’s exactly the kind of one-time setup work upready.dev handles for non-technical founders.


Sources

  1. AlternativeTo — Apps tagged with ‘imgur’ — Picsur listing, marked Discontinued, AGPL-3.0, 4 likes. https://alternativeto.net/browse/all/?tag=imgur
  2. Shaynly — A Catalog Of Self-Hosted Free Software Network Services And Web Applications — general self-hosted catalogue. https://shaynly.com/self-hosted-free-software/
  3. Hostinger — VPS Docker Templates — one-click app deployment reference. https://www.hostinger.com/vps/docker
  4. Marius Hosting — Page 60 — Synology/NAS self-hosted tool guides. https://mariushosting.com/page/60/

Primary sources:

Features

Authentication & Access

  • Multi-User Support
  • Role-Based Access Control

Integrations & APIs

  • REST API

Import & Export

  • Migration Tools

Security & Privacy

  • CORS Configuration