github mrblomblo/blombooru v1.39.0

latest releases: v1.40.1, v1.40.0, v1.40.0-rc.1...
3 months ago

Blombooru v1.39.0

Note

It seems that I had uploaded the wrong Docker Compose file... I fixed this May 19th, sorry for any inconveniences!!

Blombooru is a private, self-hosted media tagging tool designed as an alternative to image boorus for managing personal media collections.

Key Features

  • Danbooru-Style Tagging: Includes a tagging system with categories (artist, character, copyright, meta, general), parent-child media relationships, albums, and full support for Danbooru-compatible search syntax.
  • AI Integration: Support for viewing AI metadata from tools such as SwarmUI, ComfyUI, and A1111. Includes integration with the WDv3 Auto Tagger for automated tag suggestions.
  • External Booru Import: Allows importing media directly from supported boorus (e.g., Danbooru, Gelbooru) via URL. Metadata such as tags, rating, and sources are automatically mapped and imported.
  • API Compatibility: Implements a Danbooru v2 compatible API. This allows you to connect third-party Booru clients (such as Grabber, Tachiyomi, or BooruNav) to your Blombooru instance.
  • Security & Access Control: Management actions (uploading, editing, deleting) require an admin login. A Secure Mode can also be enabled to require login to interact with Blombooru (including to view media), while still allowing access to shared media.
  • Customizable Interface: Built with Tailwind CSS for responsiveness. Includes built-in themes (Catppuccin variants, Gruvbox, Nord, Everforest, OLED) and supports adding custom CSS themes.
  • System Architecture: Built on Python (FastAPI) and PostgreSQL 17. Optional Redis caching is available for faster autocomplete and queries. Supports multi-instance setups and shared tag databases.

Installation Instructions

Docker is the recommended installation method. To deploy Blombooru using Docker:

  1. Download docker-compose.yml and example.env from the release assets below.
  2. (Optional) If you intend to use a shared tag database across multiple instances, also download docker-compose.shared-tags.yml.
  3. Follow the Installation instructions in the README to complete the setup.

What's Changed

  • fix: Fix small issue with Dockerfile
  • fix: Properly style upload/import file drop areas
  • fix: Fix inconsistent margins in Admin Panel
  • fix: Properly fall back to English strings if strings in selected language are empty or missing
  • fix: Fix certain characters not appearing correctly in Booru Importer
  • fix: Other minor styling fixes
  • perf: Reduce DB queries for albums
  • perf: Optimize pagination
  • refac: Switch to lifespan context manager
  • refac: Deduplicate shared enums in models.py & schemas.py
  • refac: Nearly full refactor of media processing and saving pipeline
  • refac: Fully refactor admin.py into focused submodules
  • refac: Invalidate global media cache on single media item cache invalidation
  • feat: Theme, language, and secure mode are now initially settable through env variables
  • feat: Secret key is now pinnable through env variables
  • feat: Improved tag autocomplete styling and logic
  • feat: Added a description/notes field to media
  • feat: Add quick bulk tag add & remove function (for #59)
  • feat: Add tag implications (add tag1 auto-adds tag2)
  • feat: Make admin_mode cookie more difficult to forge
  • feat: Require auth for admin panel to even render
  • feat: Make it possible to regenerate all or missing thumbnails (for #61)
  • feat: Add auto-tagging based on media type
  • feat: Improve styling of Booru Importer
  • feat: Improve styling of tag and album search results in Admin Panel
  • docs: Add documentation for the internal API (for #62)
  • loc, docs, ui: Add new keys, update existing keys, and update readme by @cobaltcobaltcobalt in #63

Full Changelog: v1.38.2...v1.39.0

Credits & Acknowledgements

Thank you to the following contributors and community members for their help in improving Blombooru:

New Contributors

Contributors who has had their first pull request merged:

Don't miss a new blombooru release

NewReleases is sending notifications on new releases.