A lightweight, fast server for displaying media from a private server with a minimalistic GUI and PWA support.
SPIS (Simple Private Image Server) is a lightweight, fast server for displaying images and videos hosted on a private server. It solves the problem of overly complex, slow media servers by offering a minimalistic, database-free solution that is easy to set up and operate.
Individuals or small teams who want a private, self-hosted media gallery without the overhead of databases or heavy dependencies, often running on low-resource hardware like Raspberry Pi.
Developers choose SPIS for its simplicity, speed, and lightweight design—it avoids feature bloat, requires no database, and is optimized for performance even with large media collections (e.g., 40,000+ images).
Simple private image server 🖼️
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers one-command Docker setup with compose examples, making initial installation straightforward and reproducible.
Successfully handles over 40,000 images on a Raspberry Pi CM4, demonstrating lightweight operation suitable for low-power hardware.
Designed as a progressive web app with long-press multi-select, ensuring a native-like experience on mobile devices without app store dependencies.
Allows defining UI-triggered commands for media processing via TOML configuration, adding extensibility without modifying core code.
Requires nginx or similar for media serving, adding deployment complexity and maintenance overhead compared to all-in-one servers.
Supports only basic filtering by date and favorites, lacking custom tags, advanced search, or relational data management due to the no-database philosophy.
Non-Docker installations involve multiple steps with systemd and nginx, acknowledged as complex and 'super unhelpful' in the documentation.