-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
154 lines (116 loc) · 3.24 KB
/
Dockerfile
File metadata and controls
154 lines (116 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
FROM debian:bookworm
ENV SHARM=true
ARG FIFO_PATH
ENV FIFO_PATH=${FIFO_PATH}
ARG FIFO_PATH_STEREO
ENV FIFO_PATH_STEREO=${FIFO_PATH_STEREO}
ARG MPD_CLIENT_PORT
ENV MPD_CLIENT_PORT=${MPD_CLIENT_PORT}
ARG MPD_STREAM_PORT
ENV MPD_STREAM_PORT=${MPD_STREAM_PORT}
ARG SNAPSERVER_PORT
ENV SNAPSERVER_PORT=${SNAPSERVER_PORT}
ARG SNAPSERVER_HTTP_PORT
ENV SNAPSERVER_HTTP_PORT=${SNAPSERVER_HTTP_PORT}
ARG YMPD_PORT
ENV YMPD_PORT=${YMPD_PORT}
ENV TZ=Europe/Rome
ARG DEBIAN_FRONTEND=noninteractive
ARG SNAP_DEV_ARM="https://github.com/badaix/snapcast/releases/download/v0.31.0/snapserver_0.31.0-1_arm64_bookworm.deb"
ARG SNAP_DEV_AMD="https://github.com/badaix/snapcast/releases/download/v0.31.0/snapserver_0.31.0-1_amd64_bookworm.deb"
RUN set -eux
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
ca-certificates \
wget \
git \
cmake \
build-essential \
avahi-daemon \
avahi-utils \
dbus \
systemd \
coreutils \
jackd2 \
jack-tools \
sox \
libasound2 \
alsa-utils \
libasound2-dev \
libpulse-dev \
libvorbisidec-dev \
libvorbis-dev \
libopus-dev \
libflac-dev \
libsoxr-dev \
libavahi-client-dev \
libexpat1-dev \
pulseaudio \
pulseaudio-utils \
procps \
ffmpeg \
mpd \
mpc \
timidity \
libmpdclient-dev \
libtool \
pkg-config \
libssl-dev \
gettext
RUN update-ca-certificates
RUN rm -rf /var/lib/apt/lists/*
# alsa
COPY asound.conf /etc/asound.conf
# mpd
RUN mkdir -p /var/lib/mpd/data ; \
touch /var/lib/mpd/data/database \
/var/lib/mpd/data/state \
/var/lib/mpd/data/sticker.sql
COPY mpd.conf /home/mpd.conf
RUN echo "MPD_CLIENT_PORT=${MPD_CLIENT_PORT}"
RUN echo "MPD_STREAM_PORT=${MPD_STREAM_PORT}"
RUN envsubst < /home/mpd.conf > /etc/mpd.conf
RUN mkdir -p /var/log/mpd && chown -R mpd:audio /var/log/mpd ; \
chown -R mpd:audio /var/lib/mpd ; \
chown -R mpd:audio /etc/mpd.conf ; \
mkdir -p /run/mpd && chown -R mpd:audio /run/mpd
VOLUME /var/lib/mpd
WORKDIR /var/lib/mpd
EXPOSE 6600 8000
#snapcast
RUN if [ "$(uname -m)" = "x86_64" ]; then \
wget -O /tmp/snapserver.deb ${SNAP_DEV_AMD}; \
else \
wget -O /tmp/snapserver.deb ${SNAP_DEV_ARM}; \
fi
RUN dpkg -i /tmp/snapserver.deb
RUN apt-get -f install
RUN rm /tmp/snapserver.deb
RUN snapserver -v
COPY snapserver.conf /home/snapserver.conf
RUN echo "FIFO_PATH=${FIFO_PATH}"
RUN echo "FIFO_PATH_STEREO=${FIFO_PATH_STEREO}"
RUN envsubst < /home/snapserver.conf > /etc/snapserver.conf
RUN mkdir -p /var/log/snapserver ; \
mkdir -p /var/run/snapserver
EXPOSE 1704 1705
# ympd
RUN mkdir -p /var/lib/ympd ; \
chown -R mpd:audio /var/lib/ympd
WORKDIR /var/lib/ympd
RUN git clone https://github.com/notandy/ympd.git /var/lib/ympd
RUN cmake . -DCMAKE_C_FLAGS="-fcommon" -DCMAKE_INSTALL_PREFIX=/usr && \
make && \
make install
EXPOSE ${YMPD_PORT}
# start
WORKDIR /home
# copy .env
COPY .env /home/.env
#copy pulse.sh
COPY pulse.sh /home/pulse.sh
RUN chmod +x /home/pulse.sh
# copy start.sh
COPY start.sh /home/start.sh
RUN chmod +x /home/start.sh
CMD ["/home/start.sh"]