Picsur — Self-Hosted, Open-Source

Simple imaging hosting platform that allows you to easily host, edit, and share images.

License: AGPL-3.0. Built with: TypeScript, HTML, SCSS, Shell, Dockerfile, JavaScript, CSS. Source: https://github.com/CaramelFur/Picsur.

Features

Installation

version: '3' services: picsur: image: ghcr.io/caramelfur/picsur:latest container_name: picsur ports: - '8080:8080' environment: # PICSUR_HOST: '0.0.0.0' # PICSUR_PORT: 8080 PICSUR_DB_HOST: picsur_postgres # PICSUR_DB_PORT: 5432 # PICSUR_DB_USERNAME: picsur # PICSUR_DB_PASSWORD: picsur # PICSUR_DB_DATABASE: picsur ## The default username is admin, this is not modifiable # PICSUR_ADMIN_PASSWORD: picsur ## Optional, random secret will be generated if not set # PICSUR_JWT_SECRET: CHANGE_ME # PICSUR_JWT_EXPIRY: 7d ## Maximum accepted size for uploads in bytes # PICSUR_MAX_FILE_SIZE: 128000000 ## No need to touch this, unless you use a custom frontend # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist" ## Warning: Verbose mode might log sensitive data # PICSUR_VERBOSE: "true" restart: unless-stopped picsur_postgres: image: postgres:17-alpine container_name: picsur_postgres environment: POSTGRES_DB: picsur POSTGRES_PASSWORD: picsur POSTGRES_USER: picsur restart: unless-stopped volumes: - picsur-data:/var/lib/postgresql/data volumes: picsur-data:

Why self-host Picsur

Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.

What hardware do you need

Most self-hosted apps run comfortably on modest hardware — a Raspberry Pi 4, a mini PC, a NAS with Docker support, or a small VPS is usually enough for personal or family use. CPU and RAM requirements scale with how many simultaneous users or how much data you push through Picsur. Storage requirements depend on the kind of data you keep; check the README for guidance on data retention.

Where to go from here

Last verified: 2026-05-01