mirror of
				https://github.com/casjaysdevdocker/navidrome
				synced 2025-11-03 19:02:05 -05:00 
			
		
		
		
	🗃️ Committing everything that changed 🗃️
This commit is contained in:
		
							
								
								
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -3,7 +3,7 @@ FROM casjaysdevdocker/alpine:latest as build
 | 
				
			|||||||
ARG alpine_version=edge
 | 
					ARG alpine_version=edge
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARG LICENSE=WTFPL \
 | 
					ARG LICENSE=WTFPL \
 | 
				
			||||||
  IMAGE_NAME=music \
 | 
					  IMAGE_NAME=navidrome \
 | 
				
			||||||
  TIMEZONE=America/New_York \
 | 
					  TIMEZONE=America/New_York \
 | 
				
			||||||
  PORT=80
 | 
					  PORT=80
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -28,10 +28,10 @@ COPY ./data/. /data/
 | 
				
			|||||||
FROM scratch
 | 
					FROM scratch
 | 
				
			||||||
ARG BUILD_DATE="$(date +'%Y-%m-%d %H:%M')"
 | 
					ARG BUILD_DATE="$(date +'%Y-%m-%d %H:%M')"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LABEL org.label-schema.name="music" \
 | 
					LABEL org.label-schema.name="navidrome" \
 | 
				
			||||||
  org.label-schema.description="Containerized version of music" \
 | 
					  org.label-schema.description="Containerized version of navidrome" \
 | 
				
			||||||
  org.label-schema.url="https://hub.docker.com/r/casjaysdevdocker/music" \
 | 
					  org.label-schema.url="https://hub.docker.com/r/casjaysdevdocker/navidrome" \
 | 
				
			||||||
  org.label-schema.vcs-url="https://github.com/casjaysdevdocker/music" \
 | 
					  org.label-schema.vcs-url="https://github.com/casjaysdevdocker/navidrome" \
 | 
				
			||||||
  org.label-schema.build-date=$BUILD_DATE \
 | 
					  org.label-schema.build-date=$BUILD_DATE \
 | 
				
			||||||
  org.label-schema.version=$BUILD_DATE \
 | 
					  org.label-schema.version=$BUILD_DATE \
 | 
				
			||||||
  org.label-schema.vcs-ref=$BUILD_DATE \
 | 
					  org.label-schema.vcs-ref=$BUILD_DATE \
 | 
				
			||||||
@@ -43,7 +43,7 @@ LABEL org.label-schema.name="music" \
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ENV SHELL="/bin/bash" \
 | 
					ENV SHELL="/bin/bash" \
 | 
				
			||||||
  TERM="xterm-256color" \
 | 
					  TERM="xterm-256color" \
 | 
				
			||||||
  HOSTNAME="casjaysdev-music" \
 | 
					  HOSTNAME="casjaysdev-navidrome" \
 | 
				
			||||||
  TZ="${TZ:-America/New_York}"
 | 
					  TZ="${TZ:-America/New_York}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /root
 | 
					WORKDIR /root
 | 
				
			||||||
@@ -55,5 +55,5 @@ EXPOSE $PORT
 | 
				
			|||||||
COPY --from=build /. /
 | 
					COPY --from=build /. /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENTRYPOINT [ "tini", "--" ]
 | 
					ENTRYPOINT [ "tini", "--" ]
 | 
				
			||||||
HEALTHCHECK CMD [ "/usr/local/bin/entrypoint-music.sh", "healthcheck" ]
 | 
					HEALTHCHECK CMD [ "/usr/local/bin/entrypoint-navidrome.sh", "healthcheck" ]
 | 
				
			||||||
CMD [ "/usr/local/bin/entrypoint-music.sh" ]
 | 
					CMD [ "/usr/local/bin/entrypoint-navidrome.sh" ]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										35
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								README.md
									
									
									
									
									
								
							@@ -1,28 +1,29 @@
 | 
				
			|||||||
## 👋 Welcome to music 🚀  
 | 
					## 👋 Welcome to navidrome 🚀  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 play music  
 | 
					navidrome  
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
## Run container
 | 
					## Run container
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```shell
 | 
					```shell
 | 
				
			||||||
dockermgr update music
 | 
					dockermgr update navidrome
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### via command line
 | 
					### via command line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```shell
 | 
					```shell
 | 
				
			||||||
docker pull casjaysdevdocker/music:latest && \
 | 
					docker pull casjaysdevdocker/navidrome:latest && \
 | 
				
			||||||
docker run -d \
 | 
					docker run -d \
 | 
				
			||||||
--restart always \
 | 
					--restart always \
 | 
				
			||||||
--name casjaysdevdocker-music \
 | 
					--name casjaysdevdocker-navidrome \
 | 
				
			||||||
--hostname casjaysdev-music \
 | 
					--hostname casjaysdev-navidrome \
 | 
				
			||||||
-e TZ=${TIMEZONE:-America/New_York} \
 | 
					-e TZ=${TIMEZONE:-America/New_York} \
 | 
				
			||||||
-v $HOME/.local/share/docker/storage/music/data:/data \
 | 
					-v $HOME/Music:/data/music \
 | 
				
			||||||
-v $HOME/.local/share/docker/storage/music/config:/config \
 | 
					-v $HOME/.local/share/docker/storage/navidrome/data:/data:z \
 | 
				
			||||||
 | 
					-v $HOME/.local/share/docker/storage/navidrome/config:/config:z \
 | 
				
			||||||
-p 19020:80 \
 | 
					-p 19020:80 \
 | 
				
			||||||
-p 6600:6600 \
 | 
					-p 6600:6600 \
 | 
				
			||||||
casjaysdevdocker/music:latest
 | 
					casjaysdevdocker/navidrome:latest
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### via docker-compose
 | 
					### via docker-compose
 | 
				
			||||||
@@ -30,17 +31,19 @@ casjaysdevdocker/music:latest
 | 
				
			|||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
version: "2"
 | 
					version: "2"
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  music:
 | 
					  navidrome:
 | 
				
			||||||
    image: casjaysdevdocker/music
 | 
					    image: casjaysdevdocker/navidrome
 | 
				
			||||||
    container_name: music
 | 
					    container_name: navidrome
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - TZ=America/New_York
 | 
					      - TZ=America/New_York
 | 
				
			||||||
      - HOSTNAME=casjaysdev-music
 | 
					      - HOSTNAME=casjaysdev-navidrome
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - $HOME/.local/share/docker/storage/music/data:/data:z
 | 
					      - $HOME/Music:/data/music:z
 | 
				
			||||||
      - $HOME/.local/share/docker/storage/music/config:/config:z
 | 
					      - $HOME/.local/share/docker/storage/navidrome/data:/data:z
 | 
				
			||||||
 | 
					      - $HOME/.local/share/docker/storage/navidrome/config:/config:z
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - 80:80
 | 
					      - 19020:80
 | 
				
			||||||
 | 
					      - 6600:6600
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,10 @@
 | 
				
			|||||||
# @@Author           :  Jason Hempstead
 | 
					# @@Author           :  Jason Hempstead
 | 
				
			||||||
# @@Contact          :  jason@casjaysdev.com
 | 
					# @@Contact          :  jason@casjaysdev.com
 | 
				
			||||||
# @@License          :  WTFPL
 | 
					# @@License          :  WTFPL
 | 
				
			||||||
# @@ReadME           :  entrypoint-music.sh --help
 | 
					# @@ReadME           :  entrypoint-navidrome.sh --help
 | 
				
			||||||
# @@Copyright        :  Copyright: (c) 2022 Jason Hempstead, Casjays Developments
 | 
					# @@Copyright        :  Copyright: (c) 2022 Jason Hempstead, Casjays Developments
 | 
				
			||||||
# @@Created          :  Tuesday, Sep 06, 2022 21:32 EDT
 | 
					# @@Created          :  Tuesday, Sep 06, 2022 21:32 EDT
 | 
				
			||||||
# @@File             :  entrypoint-music.sh
 | 
					# @@File             :  entrypoint-navidrome.sh
 | 
				
			||||||
# @@Description      :
 | 
					# @@Description      :
 | 
				
			||||||
# @@Changelog        :  New script
 | 
					# @@Changelog        :  New script
 | 
				
			||||||
# @@TODO             :  Better documentation
 | 
					# @@TODO             :  Better documentation
 | 
				
			||||||
@@ -123,10 +123,10 @@ if ! pgrep mpd &>/dev/null; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
if [ ! -f "/data/playlists/all.m3u" ]; then
 | 
					if [ ! -f "/data/playlists/all.m3u" ]; then
 | 
				
			||||||
  find "/data/music/" -iname '*.mp3' -type f >"/data/playlists/all.m3u"
 | 
					  find "/data/navidrome/" -iname '*.mp3' -type f >"/data/playlists/all.m3u"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
chmod 777 -Rf "/data/mpd" "/data/navidrome" "/data/music" "/data/playlists" "/config/mpd"
 | 
					chmod 777 -Rf "/data/mpd" "/data/navidrome" "/data/navidrome" "/data/playlists" "/config/mpd"
 | 
				
			||||||
chown -Rf mpd "/config/mpd" "/data/mpd"
 | 
					chown -Rf mpd "/config/mpd" "/data/mpd"
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
case "$1" in
 | 
					case "$1" in
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@ filesystem_charset                "UTF-8"
 | 
				
			|||||||
# Output #######################################################################
 | 
					# Output #######################################################################
 | 
				
			||||||
audio_output {
 | 
					audio_output {
 | 
				
			||||||
    type                          "null"
 | 
					    type                          "null"
 | 
				
			||||||
    name                          "This server does not need to play music, but it can"
 | 
					    name                          "This server does not need to play navidrome, but it can"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
audio_output {
 | 
					audio_output {
 | 
				
			||||||
  type                            "httpd"
 | 
					  type                            "httpd"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,8 +9,8 @@ EnableTranscodingConfig = true
 | 
				
			|||||||
TranscodingCacheSize = "500MB"
 | 
					TranscodingCacheSize = "500MB"
 | 
				
			||||||
ImageCacheSize = "100MB"
 | 
					ImageCacheSize = "100MB"
 | 
				
			||||||
AutoImportPlaylists = true
 | 
					AutoImportPlaylists = true
 | 
				
			||||||
UILoginBackgroundUrl = "https://source.unsplash.com/random/1600x900?music"
 | 
					UILoginBackgroundUrl = "https://source.unsplash.com/random/1600x900?navidrome"
 | 
				
			||||||
UIWelcomeMessage = "Welcome to CasjaysDev music server"
 | 
					UIWelcomeMessage = "Welcome to CasjaysDev navidrome server"
 | 
				
			||||||
EnableCoverAnimation = true
 | 
					EnableCoverAnimation = true
 | 
				
			||||||
RecentlyAddedByModTime = false
 | 
					RecentlyAddedByModTime = false
 | 
				
			||||||
CoverArtPriority = "embedded, cover.*, folder.*, front.*"
 | 
					CoverArtPriority = "embedded, cover.*, folder.*, front.*"
 | 
				
			||||||
@@ -39,4 +39,3 @@ Extractor = "taglib"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# [ListenBrainz]
 | 
					# [ListenBrainz]
 | 
				
			||||||
Enabled = true
 | 
					Enabled = true
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user