selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
szurubooru logo

Self-host szurubooru

2.5

Danbooru-style image board engine for communities

ReleaseOpen SourceGPL-3.0
Updated5 months ago
LanguagePython
Setup difficultyModerate
Stars
1 029
Ports
8080 (HTTP web interface (client container)), 80 (HTTP inside client container (nginx))
Requires
PostgreSQL
Docker
szurubooru/server
Install with Docker Compose
Post list viewPost detail view

What is szurubooru?

Szurubooru is a self-hosted image board engine inspired by Danbooru, Gelbooru, and Moebooru, built for small and medium communities. It handles images (JPG, PNG, GIF), videos (MP4, WEBM), and Flash animations, with web video retrieval via yt-dlp. Features include post comments, notes with polygon annotations, a JSON REST API with token-based authentication, advanced search, a rank-based privilege system, tag categories with implications and aliases, pools, duplicate detection, post rating and favorites, and a polished UI with endless paging. It runs via Docker Compose with PostgreSQL, a Python server, and a static client frontend. Configuration uses YAML and environment variables. Licensed under GPL-3.0.

szurubooru alternatives

Should you self-host szurubooru?

szurubooru scores 54/100 on selfhost.directory (how scoring works) and ranks #47 of 142 in Media Management. It has 1 029 GitHub stars, +4 in the last 30 days.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Sonarr (81/100, 17 486 stars). It scores higher overall, so compare the two before you pick. See szurubooru vs Sonarr side by side.

Features

  • Advanced search
  • CLI admin tools
  • Duplicate Detection
  • Image board engine
  • Multi-format media support
  • Pools
  • Post comments
  • Post notes and annotations
  • Post rating and favorites
  • Privilege system
  • REST API
  • Tag Management
  • Token-based authentication
  • Webhooks
  • Web video retrieval

szurubooru README

How to install szurubooru

Install szurubooru with Docker Compose

Environment variables
POSTGRES_USER, POSTGRES_PASSWORD, BUILD_INFO, PORT, THREADS, BASE_URL, MOUNT_DATA, MOUNT_SQL
  1. Download the szurubooru source:
user@host:~$ git clone https://github.com/rr-/szurubooru.git szuru
user@host:~$ cd szuru
  1. Configure the application:
user@host:szuru$ cp server/config.yaml.dist server/config.yaml
user@host:szuru$ edit server/config.yaml
  1. Configure Docker Compose:
user@host:szuru$ cp doc/example.env .env
user@host:szuru$ edit .env
  1. Pull the containers:
user@host:szuru$ docker compose pull
  1. Run it:
user@host:szuru$ docker compose up -d sql
user@host:szuru$ docker compose up -d

Recommended deployment method

How to configure szurubooru

  • POSTGRES_USERszuruDatabase credentials
  • POSTGRES_PASSWORD
  • BUILD_INFOlatestThis shows up on the homescreen, indicating build information
  • PORT8080Port to expose HTTP service Set to 127.0.0.1:8080 if you wish to reverse-proxy the docker's port, otherwise the port specified here will be publicly accessible
  • THREADS4How many waitress threads to start 4 is the default amount of threads. If you experience performance degradation with a large number of posts, increasing this may improve performance, since waitress is most likely clogging up with Tasks.

szurubooru releases & version history

More in Media Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…