Files
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>Michael Bianco
2bfb71b385 chore: mise update 2026.7.2 (#618)
* 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]>
2026-07-09 11:08:08 -06:00

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