Add configuration for Navidrome
Navidrome is a Subsonic/Airsonic-compatible music server with a built-in web interface, and can be used as a quasi-self-hosted-Spotify-alternative. By default, music files are read from an empty `navidrome-music` volume, which is expected to be populated via whatever external means are available to the server. The workflow here might be improved in the future.
This commit is contained in:
parent
aafd88dafb
commit
b31beff6f1
|
@ -0,0 +1,21 @@
|
|||
FROM debian:bullseye-slim
|
||||
ARG VERSION=0.46.0
|
||||
|
||||
RUN apt-get update -y && apt-get upgrade -y && \
|
||||
apt-get install -y --no-install-recommends curl ca-certificates gosu ffmpeg
|
||||
|
||||
ENV PACKAGE_URL https://github.com/deluan/navidrome/releases/download/v${VERSION}/navidrome_${VERSION}_Linux_x86_64.tar.gz
|
||||
RUN curl -L ${PACKAGE_URL} | tar -C /bin -xvzf - navidrome && chmod +x /bin/navidrome
|
||||
|
||||
RUN apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false curl
|
||||
|
||||
RUN addgroup --system --gid 10000 navidrome
|
||||
RUN adduser --system --uid 10000 --ingroup navidrome --home /var/lib/navidrome navidrome
|
||||
|
||||
COPY container/config /etc/navidrome
|
||||
VOLUME /music
|
||||
|
||||
USER navidrome
|
||||
EXPOSE 4533
|
||||
|
||||
ENTRYPOINT ["/bin/navidrome", "--configfile", "/etc/navidrome/navidrome.toml"]
|
|
@ -0,0 +1,17 @@
|
|||
# Log level. Useful for troubleshooting. Possible values: error, info, debug, trace.
|
||||
LogLevel = "info"
|
||||
|
||||
# Base URL (only the path part) to configure Navidrome behind a proxy.
|
||||
BaseURL = "/"
|
||||
|
||||
# Folder for storing Navidrome database.
|
||||
DataFolder = "/var/lib/navidrome"
|
||||
|
||||
# How frequently to scan for changes in your music library.
|
||||
ScanSchedule = "@every 30m"
|
||||
|
||||
# Size of transcoding cache.
|
||||
TranscodingCacheSize = "100MB"
|
||||
|
||||
# Folder where your music library is stored. Can be read-only.
|
||||
MusicFolder = "/music"
|
|
@ -0,0 +1,10 @@
|
|||
variant: fcos
|
||||
version: 1.3.0
|
||||
storage:
|
||||
trees:
|
||||
- path: /etc/systemd/system
|
||||
local: service/navidrome/systemd/
|
||||
systemd:
|
||||
units:
|
||||
- name: navidrome.service
|
||||
enabled: true
|
|
@ -0,0 +1,20 @@
|
|||
[Unit]
|
||||
Description=Navidrome Music Server
|
||||
Wants=container-build@%N.service container-volume@%N.service
|
||||
After=container-build@%N.service container-volume@%N.service
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
NotifyAccess=all
|
||||
SyslogIdentifier=%N
|
||||
Restart=on-failure
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
ExecStart=/bin/podman run --replace --name %N --net internal --sdnotify=conmon \
|
||||
--volume %N:/var/lib/%N:z \
|
||||
--volume %N-music:/music:z,ro \
|
||||
localhost/%N:latest
|
||||
ExecStop=/bin/podman stop --ignore --time 10 %N
|
||||
ExecStopPost=/bin/podman rm --ignore --force %N
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -16,6 +16,7 @@ ignition:
|
|||
- local: service/prosody/spec.ign
|
||||
- local: service/biboumi/spec.ign
|
||||
- local: service/radicale/spec.ign
|
||||
- local: service/navidrome/spec.ign
|
||||
- local: private/spec.ign
|
||||
|
||||
passwd:
|
||||
|
|
|
@ -17,6 +17,7 @@ ignition:
|
|||
- local: service/biboumi/spec.ign
|
||||
- local: service/spectrum/spec.ign
|
||||
- local: service/radicale/spec.ign
|
||||
- local: service/navidrome/spec.ign
|
||||
- local: private/spec.ign
|
||||
|
||||
passwd:
|
||||
|
|
|
@ -18,6 +18,7 @@ ignition:
|
|||
- local: service/radicale/spec.ign
|
||||
- local: service/spectrum/spec.ign
|
||||
- local: service/rss2email/spec.ign
|
||||
- local: service/navidrome/spec.ign
|
||||
|
||||
passwd:
|
||||
users:
|
||||
|
|
Loading…
Reference in New Issue