Optimize dockerfile
parent
f65a57964f
commit
d450fb5bf7
|
@ -1,18 +1,61 @@
|
|||
FROM golang:1.21-bookworm as builder
|
||||
|
||||
ENV FFMPEG_VERSION=5.1.2
|
||||
ENV MPD_VERSION=0.23.14
|
||||
|
||||
RUN apt-get update && apt-get -y install \
|
||||
libopus-dev libopusfile-dev \
|
||||
meson g++ nasm \
|
||||
libfmt-dev \
|
||||
libpcre2-dev \
|
||||
libmad0-dev libmpg123-dev libid3tag0-dev \
|
||||
libflac-dev libvorbis-dev libopus-dev libogg-dev \
|
||||
libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
|
||||
libsamplerate0-dev libsoxr-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libboost-dev \
|
||||
zlib1g-dev
|
||||
WORKDIR /tmp
|
||||
RUN curl -LOs http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.xz && tar xvf ffmpeg-${FFMPEG_VERSION}.tar.xz && \
|
||||
cd ffmpeg-${FFMPEG_VERSION} && \
|
||||
./configure \
|
||||
--enable-version3 \
|
||||
--enable-gpl \
|
||||
--enable-nonfree \
|
||||
--enable-small \
|
||||
--enable-libvorbis \
|
||||
--enable-libopus \
|
||||
--enable-postproc \
|
||||
--enable-openssl \
|
||||
--disable-debug && \
|
||||
make && \
|
||||
make install
|
||||
RUN curl -LOs https://www.musicpd.org/download/mpd/0.23/mpd-${MPD_VERSION}.tar.xz && tar xvf mpd-${MPD_VERSION}.tar.xz && \
|
||||
cd mpd-${MPD_VERSION} && \
|
||||
meson . output/release --buildtype=minsize -Db_ndebug=true && \
|
||||
ninja -C output/release
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
RUN apt-get update && apt-get -y install libopus-dev libopusfile-dev && \
|
||||
go build
|
||||
|
||||
RUN go build
|
||||
FROM debian:bookworm-slim
|
||||
RUN apt-get update && apt-get -y install \
|
||||
ca-certificates \
|
||||
libopus-dev libopusfile-dev \
|
||||
mpd ffmpeg curl && \
|
||||
libfmt-dev \
|
||||
libpcre2-dev \
|
||||
libmad0-dev libmpg123-dev libid3tag0-dev \
|
||||
libflac-dev libvorbis-dev libopus-dev libogg-dev \
|
||||
libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
|
||||
libsamplerate0-dev libsoxr-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
curl && \
|
||||
curl -L https://github.com/badaix/snapcast/releases/download/v0.27.0/snapclient_0.27.0-1_without-pulse_amd64.deb -o /tmp/snapcast.deb && \
|
||||
curl -L http://ftp.no.debian.org/debian/pool/main/f/flac/libflac8_1.3.3-2+deb11u2_amd64.deb -o /tmp/libflac8.deb && \
|
||||
apt -y install /tmp/snapcast.deb /tmp/libflac8.deb
|
||||
apt -y install /tmp/snapcast.deb /tmp/libflac8.deb && rm -rf /tmp/*.deb
|
||||
COPY --from=builder /src/dndmusicbot /app/
|
||||
COPY --from=builder /tmp/mpd-0.23.14/output/release/mpd /usr/local/bin
|
||||
COPY --from=builder /usr/local/bin/ffmpeg /usr/local/bin
|
||||
COPY mp3 /app/mp3
|
||||
ADD tmpl /app/tmpl
|
||||
WORKDIR /app
|
||||
ENTRYPOINT [ "/app/dndmusicbot" ]
|
||||
|
|
Loading…
Reference in New Issue