Oddloaf

Batches / 03

Spooly

Your own swipeable feed for the videos and photos you already have. Self-hosted, no cloud account.

github.com/oddloafhq/spooly ↗ Served Open source, MIT licensed. Install from PyPI or Docker.

Spooly logo

Spooly Library grid on desktop next to the Flow swipe feed on a phone
Spooly — Library on desktop, Flow on a phonev0.8 screenshot
24-second demomuted · loops
Flow: a full-screen waterfall video with speed, search, like, save and info actions
Flow
Home on a phone: a collage of recent photos with entry points to Flow and Radio
Home
Library on a phone: a two-column grid of landscape and city photos
Library
Spooly Home on desktop with Flow and Radio entry cards and a Recently Added row
Home on desktopscreenshot
Kind
Self-hosted media server
Runs on
Python 3.10+ · Docker (amd64, arm64)
License
MIT, open source
Status
Served
Quick start
pip install spooly
spooly ~/Videos

(01) What it does

Small, and on purpose.

(02) Questions

Asked, answered.

Is Spooly free?

Yes. Spooly is free and open source under the MIT license.

Does my media leave my machine?

No. Browsing and playback stay on your own server, and local browsing works without internet access. Only optional AI features, which are off unless you configure them, send selected images to the provider you choose.

How do I install it?

With Python 3.10 or later, run pip install spooly, then spooly ~/Videos. A Docker image for amd64 and arm64 is also available at ghcr.io/oddloafhq/spooly.

Which file formats work?

Spooly mixes videos and images in one feed, and plays whatever your browser can play. Files the browser can't play, such as some HEVC or AV1 videos, are skipped with a short note instead of stopping the feed.

Can I use it on my phone over LAN?

Yes. Open http://<your-computer>:8000 on any phone, tablet or browser on the same network. The first start prints an access password in the terminal.