Install
last updated
Quick start (Docker)#
- Grab
docker/docker-compose.ymlfrom the monbooru repository and edit the volume paths so/gallery,/data,/configand/modelsmap to your folders. docker compose up -d- Open
http://localhost:8455.
On first start monbooru creates a config file with defaults at
/config/monbooru.toml. Most settings are editable from the Settings
page in the UI; the few that are not (paths, bind address) need a TOML
edit and a restart. The full reference is in
Configuration.
A gallery is a named folder full of images; the default one points at
/gallery.
The compose file also contains an optional monloader service, the
companion that handles downloading and reverse lookup. You can ignore
it to start with and add it later; see the
monloader install page.
Volumes#
| Mount | Purpose |
|---|---|
/gallery |
Your source images |
/data |
SQLite database and thumbnails |
/config |
monbooru.toml |
/models |
ONNX auto-tagger models, one subfolder per tagger |
Keep /data on a persistent volume: it holds everything monbooru
derives from your files (database, thumbnails, caches). The images
themselves only ever live under /gallery.
Permissions (non-root)#
The image runs as a non-root user. The bundled compose file sets
user: "1000:1000", which matches the common first user on a Linux
host; edit it to your own uid:gid. Files written to /gallery,
/data and /config then land owned by you, and the bind mounts stay
readable and writable. Make sure those host directories are owned by,
or accessible to, that uid.
The compose file also drops all container capabilities and adds back
only CHOWN and DAC_OVERRIDE, which monbooru needs to take
ownership of files at ingest so it can move or delete them later. If
every file in your gallery is already owned by the uid the container
runs as, you can drop those two as well.
Healthcheck#
The Docker image has a built-in healthcheck: the
monbooru healthcheck subcommand probes the local /health endpoint
and exits 0 when the server answers. docker ps shows the container
as healthy once the app is up; you can point your own monitoring at
GET /health, which returns {"app":"monbooru","status":"ok","version":"..."}.
Quick start (desktop)#
Download a desktop build for your system from the releases page, unpack it, and run it. A browser opens on a short setup page.
Downloads come on two axes, and the filename says which is which:
| Axis | What you get |
|---|---|
| desktop or server | desktop opens automatically in a browser, keeps its files where your system puts a user’s files. server keeps the defaults meant for a machine you run it on and reach from elsewhere. |
| lite or bundled | lite is one binary. Video thumbnails need ffmpeg installed yourself; auto-tagging needs ONNX Runtime. bundled adds ffmpeg and the ONNX Runtime, so video previews and local auto-tagging work out of the box. |
On Windows each desktop build also ships as an installer, which is the same files plus Start Menu and desktop shortcuts; on Linux the Flatpak is the desktop bundled build inside a sandbox.
Where your files go#
| Linux | Windows | |
|---|---|---|
| Settings, plugins, themes | ~/.config/monbooru |
%AppData%\monbooru |
| Database and thumbnails | ~/.local/share/monbooru |
%LocalAppData%\monbooru |
| Log file | <database folder>/logs |
<database folder>\logs |
| Your images | wherever you pointed setup | same |
A Flatpak install keeps its own copies of the first three under
~/.var/app/io.github.monbooru.Monbooru/.
If you put a monbooru.toml next to the program before starting it,
monbooru uses that one and keeps its database in a data folder beside it
too. That makes the whole install portable.
Next#
Head to First steps to add your first images. For environment variables, custom CSS, a custom name and logo, GPU setup and log levels, see Configuration.
