Skip to content
This repository has been archived by the owner on Feb 9, 2020. It is now read-only.

Support for linux-amd64, linux-arm and linux-arm64 added #18

Open
wants to merge 84 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
aa9a8f3
Create .travis.yml
RaymondMouthaan Apr 26, 2018
c77aa58
Rename Dockerfile to Dockerfile.linux-amd64
RaymondMouthaan Apr 26, 2018
60a90fe
Create Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
98aea96
Create Dockerfile.linux-arm64
RaymondMouthaan Apr 26, 2018
1430cce
Modified base image
RaymondMouthaan Apr 26, 2018
a8e54be
First try amd64
RaymondMouthaan Apr 26, 2018
626d6e7
correct yml
RaymondMouthaan Apr 26, 2018
e3dfb8b
changed docker login
RaymondMouthaan Apr 26, 2018
b38f956
modified env vars docker user and pass
RaymondMouthaan Apr 26, 2018
f78cb61
[skip ci]
RaymondMouthaan Apr 26, 2018
cc2adb2
Added support linux-arm32v7
RaymondMouthaan Apr 26, 2018
364fad6
correcte yml
RaymondMouthaan Apr 26, 2018
a639679
correct yml part 2
RaymondMouthaan Apr 26, 2018
ef0763c
corrected yml part 3
RaymondMouthaan Apr 26, 2018
8be1980
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 26, 2018
ba96440
Rename Dockerfile.linux-arm32v7 to Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
08f8a2e
back to Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
6145bec
corrected qemu version
RaymondMouthaan Apr 26, 2018
573fcf6
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
17f8e95
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 26, 2018
b0cefed
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
996e686
try out
RaymondMouthaan Apr 26, 2018
4db5e8b
Update .travis.yml
RaymondMouthaan Apr 26, 2018
5151d63
Update .travis.yml
RaymondMouthaan Apr 26, 2018
5f001c7
Update .travis.yml
RaymondMouthaan Apr 26, 2018
9b1d98e
Update .travis.yml
RaymondMouthaan Apr 26, 2018
b996895
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
2213f65
enable linux-arm
RaymondMouthaan Apr 26, 2018
fe33fdc
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 26, 2018
3b7b962
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
eb6dd38
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 26, 2018
fa951ff
Update .travis.yml
RaymondMouthaan Apr 26, 2018
0c8418b
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
90cb0b4
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
10481fb
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
19a7833
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
f2e00e2
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
2d480d0
Update .travis.yml
RaymondMouthaan Apr 26, 2018
c56f083
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
155739c
Update .travis.yml
RaymondMouthaan Apr 26, 2018
c31e25c
Update Dockerfile.linux-arm
RaymondMouthaan Apr 26, 2018
c57aaf3
Update .travis.yml
RaymondMouthaan Apr 26, 2018
df37940
Update .travis.yml
RaymondMouthaan Apr 26, 2018
8194686
Update .travis.yml
RaymondMouthaan Apr 26, 2018
f973cb5
Update .travis.yml
RaymondMouthaan Apr 26, 2018
75547da
Update .travis.yml
RaymondMouthaan Apr 26, 2018
404d4d3
Rename Dockerfile.linux-arm to Dockerfile.linux-arm32v7
RaymondMouthaan Apr 26, 2018
3a0327c
Update .travis.yml
RaymondMouthaan Apr 26, 2018
977ab06
Update .travis.yml
RaymondMouthaan Apr 26, 2018
295b090
[skip ci]
RaymondMouthaan Apr 26, 2018
65211bb
trigger build
RaymondMouthaan Apr 26, 2018
580e1ff
Added arm64
RaymondMouthaan Apr 26, 2018
3e3dd8e
Update .travis.yml
RaymondMouthaan Apr 26, 2018
4d1be3d
[skip ci]
RaymondMouthaan Apr 26, 2018
5058c85
qemu-aarch64-static added
RaymondMouthaan Apr 26, 2018
69008fc
Update .travis.yml
RaymondMouthaan Apr 26, 2018
a361a8e
Different source
RaymondMouthaan Apr 26, 2018
07101a5
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 26, 2018
0d3e38b
[skip ci]
RaymondMouthaan Apr 27, 2018
c9bef10
[skip ci]
RaymondMouthaan Apr 27, 2018
c7eb9d7
added some tools
RaymondMouthaan Apr 27, 2018
4fd9d68
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
1f419c0
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
354b8e6
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
870fdee
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 28, 2018
385325b
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
e03f05c
Update Dockerfile.linux-arm64
RaymondMouthaan Apr 28, 2018
78157ae
Rename Dockerfile.linux-arm64 to Dockerfile.linux-arm64v8
RaymondMouthaan Apr 28, 2018
218625b
Update .travis.yml
RaymondMouthaan Apr 28, 2018
0747581
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 28, 2018
2f18dd8
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
c1c6c7f
Update Dockerfile.linux-arm64v8
RaymondMouthaan Apr 28, 2018
c4bfd9b
Update Dockerfile.linux-amd64
RaymondMouthaan Apr 28, 2018
c8997b6
Update Dockerfile.linux-arm32v7
RaymondMouthaan Apr 28, 2018
88b8d8c
Update Dockerfile.linux-arm64v8
RaymondMouthaan Apr 28, 2018
729f3dc
Update README.md
RaymondMouthaan May 2, 2018
2426cef
Getting ready for PR
RaymondMouthaan May 2, 2018
1d5ca77
Getting ready for PR
RaymondMouthaan May 2, 2018
717f363
Getting ready for PR
RaymondMouthaan May 2, 2018
a3fd008
Getting ready for PR
RaymondMouthaan May 2, 2018
9b5229e
getting ready for PR
RaymondMouthaan May 2, 2018
a8a341c
Update docker-compose-logitech-media-server.yml
RaymondMouthaan May 2, 2018
a1affc6
Update README.md
RaymondMouthaan May 2, 2018
1ce97e2
Update README.md
RaymondMouthaan May 2, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
sudo: required

language: bash

services:
- docker

before_install:
# Update docker for multi-stage build
- sudo service docker stop
- curl -fsSL https://get.docker.com/ | sudo sh

# Prepare qemu
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
# Get qemu-arm-static binary
- mkdir tmp
- >
pushd tmp &&
curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v2.9.1-1/qemu-arm-static.tar.gz &&
tar xzf qemu-arm-static.tar.gz &&
curl -L -o qemu-aarch64-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v2.9.1-1/qemu-aarch64-static.tar.gz &&
tar xzf qemu-aarch64-static.tar.gz &&
popd

script:
# Build all images
- docker build --build-arg PLATFORM=linux-amd64 -t larsks/logitech-media-server:linux-amd64 -f Dockerfile.linux-amd64 .
- docker build --build-arg PLATFORM=linux-arm -t larsks/logitech-media-server:linux-arm -f Dockerfile.linux-arm32v7 .
- docker build --build-arg PLATFORM=linux-arm64 -t larsks/logitech-media-server:linux-arm64 -f Dockerfile.linux-arm64v8 .

after_success:
- >
if [ -n "$TRAVIS_TAG" ]; then
# Docker login
echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin

# Docker Tag
docker tag larsks/logitech-media-server:linux-amd64 larsks/logitech-media-server:${TRAVIS_TAG}-linux-amd64
docker tag larsks/logitech-media-server:linux-arm larsks/logitech-media-server:${TRAVIS_TAG}-linux-arm
docker tag larsks/logitech-media-server:linux-arm64 larsks/logitech-media-server:${TRAVIS_TAG}-linux-arm64

# Docker Push
docker push larsks/logitech-media-server:${TRAVIS_TAG}-linux-amd64
docker push larsks/logitech-media-server:${TRAVIS_TAG}-linux-arm
docker push larsks/logitech-media-server:${TRAVIS_TAG}-linux-arm64

# Download manifest-tool
wget https://github.com/estesp/manifest-tool/releases/download/v0.7.0/manifest-tool-linux-amd64
mv manifest-tool-linux-amd64 manifest-tool
chmod +x manifest-tool

# Create and push manifest-list
./manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64 --template "larsks/logitech-media-server:${TRAVIS_TAG}-OS-ARCH" --target "larsks/logitech-media-server:$TRAVIS_TAG"
./manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64 --template "larsks/logitech-media-server:${TRAVIS_TAG}-OS-ARCH" --target "larsks/logitech-media-server:latest"
fi
28 changes: 0 additions & 28 deletions Dockerfile

This file was deleted.

35 changes: 35 additions & 0 deletions Dockerfile.linux-amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM amd64/debian:stretch-slim
LABEL maintainer="Lars Kellogg-Stedman <[email protected]>"
LABEL maintainer="Raymond M Mouthaan <[email protected]>"

ENV SQUEEZE_VOL /srv/squeezebox
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
ENV PACKAGE_URL=http://downloads-origin.slimdevices.com/nightly/?ver=7.9
ENV PACKAGE_VERSION=7.9.2~1524841547
ENV ARCH=amd64

# Install requirements and utilities
RUN apt-get update && \
apt-get -y install curl wget nano faad flac lame sox libio-socket-ssl-perl \
iputils-ping \
iproute2 \
&& apt-get clean

# Download and install nightly
RUN wget -r --no-directories --no-parent -A 'logitechmediaserver_'${PACKAGE_VERSION}'_'${ARCH}'.deb' ${PACKAGE_URL} && \
mv logitechmediaserver_${PACKAGE_VERSION}_${ARCH}.deb /tmp/logitechmediaserver.deb && \
dpkg -i /tmp/logitechmediaserver.deb && \
rm -f /tmp/logitechmediaserver.deb && \
apt-get clean

# This will be created by the entrypoint script.
RUN userdel squeezeboxserver

VOLUME $SQUEEZE_VOL
EXPOSE 3483 3483/udp 9000 9090

COPY entrypoint.sh /entrypoint.sh
COPY start-squeezebox.sh /start-squeezebox.sh
RUN chmod 755 /entrypoint.sh /start-squeezebox.sh
ENTRYPOINT ["/entrypoint.sh"]
37 changes: 37 additions & 0 deletions Dockerfile.linux-arm32v7
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM arm32v7/debian:stretch-slim
COPY tmp/qemu-arm-static /usr/bin/qemu-arm-static

LABEL maintainer="Lars Kellogg-Stedman <[email protected]>"
LABEL maintainer="Raymond M Mouthaan <[email protected]>"

ENV SQUEEZE_VOL /srv/squeezebox
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
ENV PACKAGE_URL=http://downloads-origin.slimdevices.com/nightly/?ver=7.9
ENV PACKAGE_VERSION=7.9.2~1524841547
ENV ARCH=arm

# Install requirements and utilities
RUN apt-get update && \
apt-get -y install curl wget nano faad flac lame sox libio-socket-ssl-perl \
iputils-ping \
iproute2 \
&& apt-get clean

# Download and install nightly
RUN wget -r --no-directories --no-parent -A 'logitechmediaserver_'${PACKAGE_VERSION}'_'${ARCH}'.deb' ${PACKAGE_URL} && \
mv logitechmediaserver_${PACKAGE_VERSION}_${ARCH}.deb /tmp/logitechmediaserver.deb && \
dpkg -i /tmp/logitechmediaserver.deb && \
rm -f /tmp/logitechmediaserver.deb && \
apt-get clean

# This will be created by the entrypoint script.
RUN userdel squeezeboxserver

VOLUME $SQUEEZE_VOL
EXPOSE 3483 3483/udp 9000 9090

COPY entrypoint.sh /entrypoint.sh
COPY start-squeezebox.sh /start-squeezebox.sh
RUN chmod 755 /entrypoint.sh /start-squeezebox.sh
ENTRYPOINT ["/entrypoint.sh"]
37 changes: 37 additions & 0 deletions Dockerfile.linux-arm64v8
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM arm64v8/debian:stretch-slim
COPY tmp/qemu-aarch64-static /usr/bin/qemu-aarch64-static

LABEL maintainer="Lars Kellogg-Stedman <[email protected]>"
LABEL maintainer="Raymond M Mouthaan <[email protected]>"

ENV SQUEEZE_VOL /srv/squeezebox
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
ENV PACKAGE_URL=http://downloads-origin.slimdevices.com/nightly/?ver=7.9
ENV PACKAGE_VERSION=7.9.2~1524841547
ENV ARCH=arm

# Install requirements and utilities
RUN apt-get update && \
apt-get -y install curl wget nano faad flac lame sox libio-socket-ssl-perl \
iputils-ping \
iproute2 \
&& apt-get clean

# Download and install nightly
RUN wget -r --no-directories --no-parent -A 'logitechmediaserver_'${PACKAGE_VERSION}'_'${ARCH}'.deb' ${PACKAGE_URL} && \
mv logitechmediaserver_${PACKAGE_VERSION}_${ARCH}.deb /tmp/logitechmediaserver.deb && \
dpkg -i /tmp/logitechmediaserver.deb && \
rm -f /tmp/logitechmediaserver.deb && \
apt-get clean

# This will be created by the entrypoint script.
RUN userdel squeezeboxserver

VOLUME $SQUEEZE_VOL
EXPOSE 3483 3483/udp 9000 9090

COPY entrypoint.sh /entrypoint.sh
COPY start-squeezebox.sh /start-squeezebox.sh
RUN chmod 755 /entrypoint.sh /start-squeezebox.sh
ENTRYPOINT ["/entrypoint.sh"]
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ This is a Docker image for running the Logitech Media Server package

Run Directly:

docker run -d --init \
-p 9000:9000 \
docker run -p 9000:9000 \
-p 9090:9090 \
-p 3483:3483 \
-p 3483:3483/udp \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v <local-state-dir>:/srv/squeezebox \
-v <audio-dir>:/srv/music \
larsks/logitech-media-server
Expand All @@ -24,7 +24,7 @@ on that port.

## Using docker-compose

There is a [docker-compose.yaml][] included in this repository that
There is a [docker-compose-logitech-media-server.yml][] included in this repository that
you will let you bring up a Logitech Media Server container using
`docker-compose`. The compose file includes the following:

Expand All @@ -37,4 +37,4 @@ for example:

AUDIO_DIR=/home/USERNAME/Music

[docker-compose.yaml]: docker-compose.yaml
[docker-compose-logitech-media-server.yml]: docker-compose-logitech-media-server.yml
25 changes: 25 additions & 0 deletions docker-compose-logitech-media-server.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
################################################################################
# Logitech-Media-Server aka Slimserver
################################################################################
#$ docker stack deploy logitech-media-server --compose-file docker-compose-logitech-media-server.yml
################################################################################
version: "3.6"

services:
logitech-media-server:
image: larsks/logitech-media-server
ports:
- "9000:9000"
- "9090:9090"
- "3483:3483"
- "3483:3483/udp"
volumes:
- <SQUEEZEBOX_PERSISTENT_DIR>:/srv/squeezebox
- ${AUDIO_DIR}:/srv/music
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro

deploy:
replicas: 1
restart_policy:
condition: on-failure
24 changes: 0 additions & 24 deletions docker-compose.yml

This file was deleted.