syllogi
Configuration

Environment Variables

Comprehensive guide for configuring your application's environment with the `.env` file.

All configuration is supplied through environment variables on the syllogi container.

Required

NameDescription
DATABASE_URLPostgreSQL host and port, e.g. syllogi-postgres:5432.
DATABASE_USERNAMEPostgreSQL username.
DATABASE_PASSWORDPostgreSQL password.
DATABASE_NAMEPostgreSQL database name.
NEXT_PUBLIC_URLPublic URL of the syllogi web UI, e.g. http://localhost:8000. Used for OAuth redirect URIs.
AUTH_SECRET_KEYSecret used to secure sign-in sessions. Set to a long random string in production.

Music server

Configure one of the following providers. If both are configured, set MUSIC_PROVIDER to disambiguate.

NameDescription
JELLYFIN_API_KEYJellyfin API key for the target user with permission to create and manage playlists.
JELLYFIN_URLBase URL of your Jellyfin server, e.g. https://jellyfin.example.com or http://localhost:8096.

Optional

NameDefaultDescription
DOWNLOAD_LIBRARY_NAMEDownloadsName of the Jellyfin media folder that contains the downloads. Jellyfin-only; ignored for Navidrome.
DOWNLOAD_DIR/downloadsFilesystem path inside the container where downloaded tracks are written. Must be a path your music server scans.
DISCORD_WEBHOOK_URL(unset)Discord webhook URL for sync summary notifications. Leave unset to disable.
LOG_LEVELINFOPython logging level (DEBUG, INFO, WARNING, ERROR).
LOG_DIR/logsDirectory inside the container where syllogi.log is written. Mount it as a volume so the Logs tab survives a restart.
AUTHENTIK_CLIENT_ID(unset)Authentik OAuth application client ID. Required only if you want SSO via Authentik.
AUTHENTIK_SECRET(unset)Authentik OAuth application client secret.
AUTHENTIK_ISSUER(unset)Authentik OIDC issuer URL, e.g. https://auth.example.com/application/o/syllogi/.
TZ(unset)Container timezone, e.g. Asia/Singapore. Affects cron scheduling.
ENVIRONMENTproductionSet to development to enable debug features (raw API response dumps).
MUSICBRAINZ_URLhttps://musicbrainz.org/ws/2Override for the MusicBrainz service address.
MUSICBRAINZ_USER_AGENTsyllogi/0.1.0 (https://github.com/jeraldlyh/syllogi)Identifier sent to MusicBrainz with requests.
LASTFM_API_KEY(unset)Last.fm API key for recommendations and charts. See Last.fm API documentation.
LASTFM_URLhttps://ws.audioscrobbler.com/2.0Override for the Last.fm service address.
LISTENBRAINZ_URLhttps://api.listenbrainz.orgOverride for the ListenBrainz service address.
LISTENBRAINZ_API_KEY(unset)ListenBrainz API key, used to check ListenBrainz usernames on music-server users and to fetch recommendations.
SLSKD_URL(unset)Address of your slskd instance.
SLSKD_API_KEY(unset)API key for slskd, used for downloading audio when tracks are missing from the library.
MUSIC_PROVIDER(unset)Required when both Jellyfin and Navidrome are configured: jellyfin or navidrome.

Single sign-on

Authentik can be used as an OIDC provider, see Authentik OIDC.

On this page