BEETPOST(1)
π BEETPOST(1) π
okay bestie, gather round, because this one is literally the cutest little bridge in your whole system. it's a User Command, it's called beetpost, and it's about to make your local music taste known to the internet. let's get into it π
β¨ NAME β¨
beetpost β a local media playback bridge for MusicBrainz scrobbling via ListenBrainz. no cap, that's the whole vibe. π
πΈ SYNOPSIS πΈ
beetpost
that's it. that's the whole invocation. no flags, no args, no drama. she just goes. β¨
π¦ DESCRIPTION π¦
so Beetpost is this optional service that bridges your local media playback events over to MusicBrainz scrobbling via ListenBrainz. and the way it does that?? iconic:
- it grabs playback events from MPRIS-enabled players, or from an MPD server
- it sends those scrobbles to Beetbrainz for enrichment
- then Beetbrainz submits them onward to ListenBrainz
π¨ okay important boundary check bestie: Beetpost is not intended for use with content not residing in your local Beets database. it's a local-girlie situation only. don't try to make it scrobble stuff that isn't yours. π
π REQUIREMENTS π
to actually utilize beetpost, you're gonna need these:
- MPRIS-enabled players: such as
qmmporElisa. π - MPD server: plus an associated client application like
cantataorMPC. - Beetbrainz: essential for enriching scrobbles before submission to ListenBrainz. like, cannot skip this one fr fr.
π CONFIGURATION π
Beetpost is configured primarily through environment variables, which you typically set inside its systemd service unit file, or through user overrides. very much a "set it and forget it" situation. π
BEETPOST_LOG_LEVEL- Description: controls the verbosity of the
Beetpostlogs. basically, how much she talks. π¬ - Default:
info - Example:
BEETPOST_LOG_LEVEL="info"
- Description: controls the verbosity of the
MPD_ENABLE- Description: a
TRUE/FALSEtoggle to enable or disableBeetpostMPD processing. - Default:
TRUE - Example:
MPD_ENABLE="FALSE"
- Description: a
BEETBRAINZ_URL_MPD- Description: the URL where
Beetpostwill send its data β it points to your Beetbrainz instance's mpd webhook endpoint. - Default:
http://localhost:5000/mpd - Example:
BEETBRAINZ_URL_MPD="http://localhost:5000/mpd"
- Description: the URL where
MPD_PORT- Description: must match the
portin your MPD configuration. π - Default:
6600 - Example:
MPD_PORT="6600"
- Description: must match the
MPD_HOST- Description: must match the
bind_to_addressin your MPD configuration. - Default:
127.0.0.1 - Example:
MPD_HOST="127.0.0.1"
- Description: must match the
MPRISPOST_ENABLE- Description: a
TRUE/FALSEtoggle to enable or disableBeetpostMPRIS processing. - Default:
TRUE - Example:
MPRIS_ENABLE="FALSE"
- Description: a
BEETBRAINZ_URL_MPRIS- Description: the URL where
Beetpostwill send its data β it points to your Beetbrainz instance's mpris webhook endpoint. - Default:
http://localhost:5000/mpris - Example:
BEETBRAINZ_URL_MPRIS="http://localhost:5000/mpris"
- Description: the URL where
MPRIS_ALLOWLIST- Description: a comma-separated list of mpris player names from which
Beetpostwill accept events. if you're not on the list, you're not getting in. π - Default:
qmmp,elisa - Example:
MPRIS_ALLOWLIST="qmmp,elisa"
- Description: a comma-separated list of mpris player names from which
under normal circumstances, no additional user configuration is required, because the default settings in beetpost.service should suffice. and if you do wanna override stuff, you can do it via systemctl --user edit beetpost.service. easy. β¨
π§ INSTALLATION π§
Beetpost is available in the official Fedora production repositories. let's gooo. π
- Install the Beetpost package:
sudo dnf5 install golang-codeberg-gbcox-beetpost
this command will also ensure that Beetbrainz is installed as a dependency. convenient!! π«Ά
π¨ after installation, it is critical to proceed immediately to the "Enabling and Customizing the Systemd User Service" sections to configure Beetpost correctly for your environment. the service will not function as intended without these steps. not me warning you twice but like... i'm warning you twice. π
π ENABLING AND CUSTOMIZING THE SYSTEMD USER SERVICE π
the beetpost service unit is designed for user-specific execution, which lets beetpost run as the currently logged-in user. and that's literally ideal for interacting with mpris-enabled players. main character energy fr. π
end users can make overrides to this service β primarily for setting environment variables, or for debugging β using systemctl --user edit beetpost.service.
πΈ User Service Locations πΈ
/usr/lib/systemd/user/beetpost.service: the main service file installed by the package. π¦~/.config/systemd/user/beetpost.service.d/: the primary location for local, custom drop-in files for your user service, which take precedence. π
π How to Configure Overrides π
to set any desired overrides, use systemctl --user edit. this command automatically creates the necessary drop-in directory and file if they don't exist. she's proactive like that. β¨
- Open the override file for editing:
systemctl --user edit beetpost.service
this will open an editor (usually nano or vim) with a new, empty file. π
- Add your customizations:
inside the editor, add the [Service] section and the Environment= directive to set your desired variables.
# ~/.config/systemd/user/beetpost.service.d/override.conf
[Service] Environment="BEETPOST_LOG_LEVEL=debug"
- Save and exit the editor. you got this bestie. πͺ
- Enable and start the user service:
after making changes, enable the service to start automatically on login, and then start it manually for the first time:
systemctl --user enable beetpost.service systemctl --user start
beetpost.service
- Check the service status (optional):
you can verify that the service is running correctly:
systemctl --user status beetpost.service
π«Ά AUTHORS π«Ά
gbcox β thank you for your service, legend. π
and that's the whole page, bestie!! πβ¨ this was Beetpost Documentation, dated July 16, 2025 β go forth and scrobble responsibly, you absolute icon. mwah. πππ¦
π¦ where this page comes from
- fedora 43: golang-codeberg-gbcox-beetpost 1.7.1-4.20250720gita22160c.fc43 Β· GPL-3.0-or-later
- fedora 44: golang-codeberg-gbcox-beetpost 1.7.1-7.20250720gita22160c.fc44 Β· GPL-3.0-or-later
- fedora 44: golang-codeberg-gbcox-beetpost 1.8.1-1.20260418gitda0c094.fc44
- fedora 44: golang-codeberg-gbcox-beetpost 1.8.2-1.fc44 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms