-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile-noble
73 lines (66 loc) · 2.48 KB
/
Dockerfile-noble
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
FROM ubuntu:24.04
RUN apt-get -qq update \
&& DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
apt-transport-https \
autoconf \
build-essential \
cmake \
curl \
jq \
debhelper \
default-jre-headless \
devscripts \
dh-autoreconf \
git \
libgmp-dev \
libsodium-dev \
libssl-dev \
ncurses-dev \
unzip \
libwxgtk3.2-dev \
libsctp1 \
libgflags-dev \
libsnappy-dev \
zlib1g-dev \
libbz2-dev \
liblz4-dev \
libzstd-dev \
&& rm -rf /var/lib/apt/lists/*
ARG BUILD_OTP_VERSION="26.2.1"
ENV OTP_VERSION=$BUILD_OTP_VERSION
RUN OTP_DOWNLOAD_URL="https://github.com/erlang/otp/archive/OTP-${OTP_VERSION}.tar.gz" \
&& curl -fsSL -o otp-src.tar.gz "$OTP_DOWNLOAD_URL" \
&& mkdir otp-src \
&& tar -zxf otp-src.tar.gz -C otp-src --strip-components=1 \
&& cd otp-src \
&& export ERL_TOP=`pwd` \
&& ./otp_build autoconf && ./configure && make -j$(nproc) && make install
ENV PORTABLE=1
ENV ROCKSDB_VERSION=8.11.4
RUN set -xe \
&& ROCKSDB_DOWNLOAD_URL="https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz" \
&& ROCKSDB_DOWNLOAD_SHA256="1b84c7d7214360fd536349917c57ebd5030d5b4fc214a343ba628b0c6e3d2711" \
&& curl -fsSL -o rocksdb-src.tar.gz "$ROCKSDB_DOWNLOAD_URL" \
&& echo "$ROCKSDB_DOWNLOAD_SHA256 rocksdb-src.tar.gz" | sha256sum -c - \
&& mkdir rocksdb-src \
&& tar -zxf rocksdb-src.tar.gz -C rocksdb-src --strip-components=1 \
&& cd rocksdb-src \
&& make shared_lib && make install-shared && ldconfig
ENV REBAR3_VERSION="3.24.0"
RUN set -xe \
&& REBAR3_DOWNLOAD_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION}.tar.gz" \
&& REBAR3_DOWNLOAD_SHA256="391b0eaa2825bb427fef1e55a0d166493059175f57a33b00346b84a20398216c" \
&& mkdir -p /usr/src/rebar3-src \
&& curl -fSL -o rebar3-src.tar.gz "$REBAR3_DOWNLOAD_URL" \
&& echo "$REBAR3_DOWNLOAD_SHA256 rebar3-src.tar.gz" | sha256sum -c - \
&& tar -xzf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 \
&& rm rebar3-src.tar.gz \
&& cd /usr/src/rebar3-src \
&& HOME=$PWD ./bootstrap \
&& install -v ./rebar3 /usr/local/bin/ \
&& rm -rf /usr/src/rebar3-src
# Remove the default Ubuntu user (freeing UID 1000)
RUN userdel -f ubuntu
# Add non-root user in case some app won't run as root
RUN useradd --shell /bin/bash builder --create-home
ENV SHELL=/bin/bash