mirror of
https://github.com/hanzoai/pack.git
synced 2026-09-30 23:43:13 +00:00
* fix: update mise to 2026.7.2 * test: update snapshots * chore: update go, mise, and bun packages * test: update mise lock with latest version * fix: use musl install for mise on builder image Generated-by: aiautocommit --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Michael Bianco <[email protected]>
86 lines
2.4 KiB
Docker
86 lines
2.4 KiB
Docker
# Image used by railpack during the build process, but not as the base image of the final runtime image
|
|
# scm = fat image containing a lot of build tools
|
|
FROM buildpack-deps:bookworm-scm
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
ARG MISE_VERSION
|
|
RUN if [ -z "$MISE_VERSION" ] || [ -z "$(echo $MISE_VERSION | tr -d ' ')" ]; then \
|
|
echo "ERROR: MISE_VERSION build argument is required and cannot be empty!" >&2; \
|
|
echo "Usage: docker build --build-arg MISE_VERSION=yourversion ..." >&2; \
|
|
exit 1; \
|
|
fi
|
|
|
|
|
|
# MISE_VERSION do *not* need to persist beyond the build process, but it's a helpful artifact to users for debugging purposes
|
|
# MISE_SELF_UPDATE_AVAILABLE is undocumented: https://github.com/iloveitaly/mise/blob/bbe46dd8e24c6b18a177806836c2e951ec3a5c5c/src/env.rs#L238
|
|
ENV MISE_INSTALL_PATH=/usr/local/bin/mise \
|
|
MISE_VERSION=${MISE_VERSION} \
|
|
MISE_SELF_UPDATE_AVAILABLE=false \
|
|
MISE_DATA_DIR=/mise \
|
|
MISE_CONFIG_DIR=/mise \
|
|
MISE_CACHE_DIR=/mise/cache \
|
|
PATH=/mise/shims:$PATH
|
|
|
|
# https://mise.jdx.dev/installing-mise.html
|
|
RUN gpg --keyserver hkps://keys.openpgp.org --recv-keys 24853EC9F655CE80B48E6C3A8B81C9D17413A06D && \
|
|
curl https://mise.jdx.dev/install.sh.sig | gpg --decrypt > install_mise.sh && \
|
|
MISE_DEBUG=true MISE_INSTALL_MUSL=1 sh ./install_mise.sh && \
|
|
rm install_mise.sh && \
|
|
gpg --batch --yes --delete-keys 24853EC9F655CE80B48E6C3A8B81C9D17413A06D && \
|
|
rm -rf /root/.gnupg/openpgp-revocs.d/*
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
# Build tools
|
|
build-essential \
|
|
cmake \
|
|
make \
|
|
pkg-config \
|
|
autoconf \
|
|
automake \
|
|
libtool \
|
|
# Version control
|
|
git \
|
|
# SSL and encryption
|
|
libssl-dev \
|
|
openssl \
|
|
gnupg \
|
|
ca-certificates \
|
|
# Compression libraries
|
|
zlib1g-dev \
|
|
libbz2-dev \
|
|
liblzma-dev \
|
|
libzstd-dev \
|
|
# Python dependencies
|
|
libreadline-dev \
|
|
libsqlite3-dev \
|
|
libncursesw5-dev \
|
|
xz-utils \
|
|
tk-dev \
|
|
libxml2-dev \
|
|
libxmlsec1-dev \
|
|
libffi-dev \
|
|
# Image processing
|
|
libjpeg-dev \
|
|
libpng-dev \
|
|
libtiff-dev \
|
|
# Database clients
|
|
default-libmysqlclient-dev \
|
|
libpq-dev \
|
|
# Additional utilities
|
|
jq \
|
|
curl \
|
|
wget \
|
|
zip \
|
|
unzip \
|
|
ssh \
|
|
rsync \
|
|
tzdata \
|
|
locales && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
|
|
|
|
# Make sure the cache directory exists
|
|
RUN mkdir -p /root/.cache
|