fix docker build (#7)
This commit is contained in:
parent
4b1c801370
commit
1f618201f9
3 changed files with 69 additions and 18 deletions
71
Dockerfile
71
Dockerfile
|
@ -1,19 +1,70 @@
|
|||
FROM golang:alpine
|
||||
FROM golang:bookworm
|
||||
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
ffmpeg \
|
||||
libheif \
|
||||
libheif-dev \
|
||||
ARG FFMPEG_VERSION=7.1
|
||||
ARG LIBHEIF_VERSION=1.19.7
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
bash \
|
||||
git \
|
||||
pkgconfig \
|
||||
build-base
|
||||
pkg-config \
|
||||
build-essential \
|
||||
tar \
|
||||
wget \
|
||||
xz-utils \
|
||||
gcc \
|
||||
cmake \
|
||||
libde265-dev && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# libheif
|
||||
ENV LIBHEIF_BUILD="https://github.com/strukturag/libheif/releases/download/v${LIBHEIF_VERSION}/libheif-${LIBHEIF_VERSION}.tar.gz"
|
||||
RUN wget -O libheif.tar.gz ${LIBHEIF_BUILD} && \
|
||||
mkdir -p libheif && \
|
||||
tar -xzvf libheif.tar.gz -C libheif --strip-components=1 && \
|
||||
rm libheif.tar.gz && \
|
||||
cd libheif && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake --preset=release .. && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
# ffmpeg
|
||||
RUN mkdir -p \
|
||||
/usr/local/bin \
|
||||
/usr/local/lib/pkgconfig/ \
|
||||
/usr/local/lib/ \
|
||||
/usr/local/include
|
||||
|
||||
RUN ARCH=$(uname -m) && \
|
||||
if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then \
|
||||
echo "detected ARM architecture" && \
|
||||
export FFMPEG_BUILD="https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n${FFMPEG_VERSION}-latest-linuxarm64-gpl-shared-${FFMPEG_VERSION}.tar.xz"; \
|
||||
else \
|
||||
echo "detected x86_64 architecture" && \
|
||||
export FFMPEG_BUILD="https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n${FFMPEG_VERSION}-latest-linux64-gpl-shared-${FFMPEG_VERSION}.tar.xz"; \
|
||||
fi && \
|
||||
wget -O ffmpeg.tar.xz ${FFMPEG_BUILD} && \
|
||||
mkdir -p ffmpeg && \
|
||||
tar -xf ffmpeg.tar.xz -C ffmpeg --strip-components=1 && \
|
||||
rm ffmpeg.tar.xz && \
|
||||
cp -rv ffmpeg/bin/* /usr/local/bin/ && \
|
||||
cp -rv ffmpeg/lib/* /usr/local/lib/ && \
|
||||
cp -rv ffmpeg/include/* /usr/local/include/ && \
|
||||
cp -rv ffmpeg/lib/pkgconfig/* /usr/local/lib/pkgconfig/ && \
|
||||
ldconfig /usr/local
|
||||
|
||||
# env for building
|
||||
ENV CGO_CFLAGS="-I/usr/local/include"
|
||||
ENV CGO_LDFLAGS="-L/usr/local/lib"
|
||||
ENV PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
|
||||
|
||||
WORKDIR /bot
|
||||
|
||||
RUN mkdir downloads
|
||||
RUN mkdir -p downloads
|
||||
|
||||
COPY . .
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue