mirror of
https://github.com/linuxserver/docker-daapd.git
synced 2026-02-20 00:56:22 +08:00
Rebase to Alpine 3.15
This commit is contained in:
parent
a4f4a6dea1
commit
c228e4e72c
241
Dockerfile
241
Dockerfile
@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.12 as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
ARG DAAPD_RELEASE
|
||||
@ -6,105 +6,103 @@ ARG LIBSPOTIFY_VERSION=12.1.51
|
||||
ARG ARCH=x86_64
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml-dev && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
echo "**** compile and install antlr3c ****" && \
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --enable-64bit --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -L https://github.com/mopidy/libspotify-archive/blob/master/libspotify-${LIBSPOTIFY_VERSION}-Linux-${ARCH}-release.tar.gz?raw=true | tar -xzf- -C /tmp/source/ && \
|
||||
mv /tmp/source/libspotify* /tmp/source/libspotify && \
|
||||
sed -i 's/ldconfig//' /tmp/source/libspotify/Makefile && \
|
||||
make -C /tmp/source/libspotify prefix=/tmp/libspotify-build install && \
|
||||
rm -rf /tmp/source/libspotify && \
|
||||
export LIBSPOTIFY_CFLAGS="-I/tmp/libspotify-build/include" && \
|
||||
export LIBSPOTIFY_LIBS="/tmp/libspotify-build/lib/libspotify.so" && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
mxml-dev \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
echo "**** compile and install antlr3c ****" && \
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --enable-64bit --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -L https://github.com/mopidy/libspotify-archive/blob/master/libspotify-${LIBSPOTIFY_VERSION}-Linux-${ARCH}-release.tar.gz?raw=true | tar -xzf- -C /tmp/source/ && \
|
||||
mv /tmp/source/libspotify* /tmp/source/libspotify && \
|
||||
sed -i 's/ldconfig//' /tmp/source/libspotify/Makefile && \
|
||||
make -C /tmp/source/libspotify prefix=/tmp/libspotify-build install && \
|
||||
rm -rf /tmp/source/libspotify && \
|
||||
export LIBSPOTIFY_CFLAGS="-I/tmp/libspotify-build/include" && \
|
||||
export LIBSPOTIFY_LIBS="/tmp/libspotify-build/lib/libspotify.so" && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
--enable-spotify \
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
############## runtime stage ##############
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.12
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -113,29 +111,27 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="BernsteinA"
|
||||
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml && \
|
||||
apk add --no-cache \
|
||||
--repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
curl \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
mxml \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add -U --update --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
librespot
|
||||
|
||||
# copy buildstage and local files
|
||||
@ -146,4 +142,5 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3689
|
||||
VOLUME /config /music
|
||||
|
||||
VOLUME /config
|
||||
|
||||
@ -1,101 +1,100 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.12 as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
ARG DAAPD_RELEASE
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml-dev && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
mxml-dev \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
echo "**** compile and install antlr3c ****" && \
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --build arm-unknown-linux-gnueabi --disable-abiflags --disable-antlrdebug --enable-64bit --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--disable-avcodecsend \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --build arm-unknown-linux-gnueabi --disable-abiflags --disable-antlrdebug --enable-64bit --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--disable-avcodecsend \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
############## runtime stage ##############
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.12
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -104,29 +103,27 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="BernsteinA"
|
||||
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml && \
|
||||
apk add --no-cache \
|
||||
--repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
curl \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
mxml \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add -U --update --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
librespot
|
||||
|
||||
# copy buildstage and local files
|
||||
@ -136,4 +133,5 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3689
|
||||
VOLUME /config /music
|
||||
|
||||
VOLUME /config
|
||||
|
||||
230
Dockerfile.armhf
230
Dockerfile.armhf
@ -1,102 +1,99 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.12 as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
ARG DAAPD_RELEASE
|
||||
ARG ARCH=armv7
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml-dev && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
echo "**** compile and install antlr3c ****" && \
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --build arm-unknown-linux-gnueabihf --disable-abiflags --disable-antlrdebug --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--disable-avcodecsend \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
echo "**** install build packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
alsa-lib-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
avahi-dev \
|
||||
bash \
|
||||
bsd-compat-headers \
|
||||
confuse-dev \
|
||||
curl \
|
||||
curl-dev \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
flac-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
gnutls-dev \
|
||||
gperf \
|
||||
json-c-dev \
|
||||
libcurl \
|
||||
libevent-dev \
|
||||
libgcrypt-dev \
|
||||
libogg-dev \
|
||||
libplist-dev \
|
||||
libressl-dev \
|
||||
libsodium-dev \
|
||||
libtool \
|
||||
libunistring-dev \
|
||||
libwebsockets-dev \
|
||||
make \
|
||||
mxml-dev \
|
||||
openjdk8-jre-base \
|
||||
protobuf-c-dev \
|
||||
sqlite-dev \
|
||||
taglib-dev \
|
||||
tar && \
|
||||
echo "**** make antlr wrapper ****" && \
|
||||
mkdir -p \
|
||||
/tmp/source/owntone && \
|
||||
echo \
|
||||
"#!/bin/bash" > /tmp/source/antlr3 && \
|
||||
echo \
|
||||
"exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \
|
||||
chmod a+x /tmp/source/antlr3 && \
|
||||
curl -o \
|
||||
/tmp/source/antlr-3.4-complete.jar -L \
|
||||
http://www.antlr3.org/download/antlr-3.4-complete.jar && \
|
||||
echo "**** compile and install antlr3c ****" && \
|
||||
curl -o \
|
||||
/tmp/libantlr3c-3.4.tar.gz -L \
|
||||
https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \
|
||||
tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \
|
||||
cd /tmp/libantlr3c-3.4 && \
|
||||
./configure --build arm-unknown-linux-gnueabihf --disable-abiflags --disable-antlrdebug --prefix=/usr && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/antlr3c-build install && \
|
||||
export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \
|
||||
export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \
|
||||
echo "**** compile owntone-server ****" && \
|
||||
if [ -z ${DAAPD_RELEASE+x} ]; then \
|
||||
DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/owntone/owntone-server/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/source/owntone.tar.gz -L \
|
||||
"https://github.com/owntone/owntone-server/archive/${DAAPD_RELEASE}.tar.gz" && \
|
||||
tar xf /tmp/source/owntone.tar.gz -C \
|
||||
/tmp/source/owntone --strip-components=1 && \
|
||||
export PATH="/tmp/source:$PATH" && \
|
||||
cd /tmp/source/owntone && \
|
||||
autoreconf -i -v && \
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--disable-avcodecsend \
|
||||
--enable-chromecast \
|
||||
--enable-itunes \
|
||||
--enable-lastfm \
|
||||
--enable-mpd \
|
||||
--host=$CHOST \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make DESTDIR=/tmp/daapd-build install && \
|
||||
mv /tmp/daapd-build/etc/owntone.conf /tmp/daapd-build/etc/owntone.conf.orig
|
||||
############## runtime stage ##############
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.12
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -105,29 +102,27 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="BernsteinA"
|
||||
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/community \
|
||||
mxml && \
|
||||
apk add --no-cache \
|
||||
--repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add -U --update --no-cache \
|
||||
avahi \
|
||||
confuse \
|
||||
curl \
|
||||
dbus \
|
||||
ffmpeg \
|
||||
json-c \
|
||||
libcurl \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libplist \
|
||||
libressl \
|
||||
libsodium \
|
||||
libunistring \
|
||||
libwebsockets \
|
||||
mxml \
|
||||
protobuf-c \
|
||||
sqlite \
|
||||
sqlite-libs && \
|
||||
apk add -U --update --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
librespot
|
||||
|
||||
# copy buildstage and local files
|
||||
@ -137,4 +132,5 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3689
|
||||
VOLUME /config /music
|
||||
|
||||
VOLUME /config
|
||||
|
||||
@ -65,6 +65,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "12.02.22:", desc: "Rebase to Alpine 3.15." }
|
||||
- { date: "14.09.21:", desc: "Enabled librespot. Disabled spotify on ARMv7" }
|
||||
- { date: "10.07.21:", desc: "Change of paths to work with the new package name, OwnTone." }
|
||||
- { date: "02.04.21:", desc: "Update upstream repo, again." }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user