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:
- Download
docker-compose.ymlandexample.envfrom the release assets below. - (Optional) If you intend to use a shared tag database across multiple instances, also download
docker-compose.shared-tags.yml. - 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.pyinto 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_modecookie 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:
- @cobaltcobaltcobalt for maintaining the Russian translation, fixing an issue, and suggesting features.
- @gary-host-laptop for suggesting features.
New Contributors
Contributors who has had their first pull request merged: