dockerfile: compile openssl-3.5.2 instead of using the one from the Alpine linux repositories

Reference: https://github.com/iv-org/invidious/issues/1438#issuecomment-3170445146
This commit is contained in:
Fijxu 2025-08-27 20:20:58 -04:00
parent 4be6d3ec53
commit 9f5f6a1de8
No known key found for this signature in database
GPG Key ID: 32C1DDF333EDA6A4

View File

@ -1,10 +1,20 @@
# https://github.com/openssl/openssl/releases/tag/openssl-3.5.2
ARG OPENSSL_VERSION='3.5.2'
FROM mirror.gcr.io/crystallang/crystal:1.16.3-alpine AS builder
RUN apk add --no-cache sqlite-static yaml-static
RUN apk del openssl-dev openssl-libs-static
RUN apk add curl perl linux-headers
ARG release
WORKDIR /invidious
ARG OPENSSL_VERSION
RUN curl -Ls "https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_VERSION}/openssl-${OPENSSL_VERSION}.tar.gz" | tar xz
RUN cd openssl-${OPENSSL_VERSION} && ./Configure --openssldir=/etc/ssl && make -j
COPY ./shard.yml ./shard.yml
COPY ./shard.lock ./shard.lock
@ -21,6 +31,7 @@ COPY ./assets/ ./assets/
COPY ./videojs-dependencies.yml ./videojs-dependencies.yml
RUN --mount=type=cache,target=/root/.cache/crystal \
PKG_CONFIG_PATH=$PWD/openssl-${OPENSSL_VERSION} \
crystal build ./src/invidious.cr \
--release -s -p -t --mcpu=x86-64-v2 \
--static --warnings all \