its kind of working now
This commit is contained in:
56
Dockerfile
Normal file
56
Dockerfile
Normal file
@@ -0,0 +1,56 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install base dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
build-essential \
|
||||
cmake \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libsnappy-dev \
|
||||
liblz4-dev \
|
||||
libzstd-dev \
|
||||
libbz2-dev \
|
||||
zlib1g-dev \
|
||||
libgflags-dev \
|
||||
xz-utils \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Zig 0.13.0 (latest stable)
|
||||
ARG ZIG_VERSION=0.13.0
|
||||
RUN curl -L "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" | tar -xJ -C /opt \
|
||||
&& ln -s /opt/zig-linux-x86_64-${ZIG_VERSION}/zig /usr/local/bin/zig
|
||||
|
||||
# Build RocksDB from source with shared library
|
||||
ARG ROCKSDB_VERSION=9.6.1
|
||||
WORKDIR /tmp
|
||||
RUN git clone --depth 1 --branch v${ROCKSDB_VERSION} https://github.com/facebook/rocksdb.git \
|
||||
&& cd rocksdb \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DWITH_SNAPPY=ON \
|
||||
-DWITH_LZ4=ON \
|
||||
-DWITH_ZSTD=ON \
|
||||
-DWITH_BZ2=ON \
|
||||
-DWITH_ZLIB=ON \
|
||||
-DWITH_GFLAGS=OFF \
|
||||
-DROCKSDB_BUILD_SHARED=ON \
|
||||
-DWITH_TESTS=OFF \
|
||||
-DWITH_BENCHMARK_TOOLS=OFF \
|
||||
-DWITH_TOOLS=OFF \
|
||||
-G Ninja \
|
||||
&& ninja -j$(nproc) \
|
||||
&& ninja install \
|
||||
&& ldconfig \
|
||||
&& cd / && rm -rf /tmp/rocksdb
|
||||
|
||||
# Set up working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Default command
|
||||
CMD ["/bin/bash"]
|
||||
Reference in New Issue
Block a user