34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
FROM archlinux:base-devel
|
|
|
|
# Update packages and install dependencies for mise and Ruby compilation
|
|
RUN pacman -Syu --noconfirm --needed git curl sudo ca-certificates openssl zlib libyaml libffi readline ncurses base-devel \
|
|
&& pacman -Scc --noconfirm
|
|
|
|
# Set mise environment variables for a consistent, container-friendly path
|
|
ENV MISE_DATA_DIR=/mise
|
|
ENV MISE_CONFIG_DIR=/mise
|
|
ENV MISE_CACHE_DIR=/mise/cache
|
|
ENV MISE_INSTALL_PATH=/usr/local/bin/mise
|
|
ENV PATH=/mise/shims:$PATH
|
|
|
|
# Install mise
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
RUN curl https://mise.run | sh
|
|
|
|
# Set Ruby build options for relocatable/portable compilation
|
|
ENV MISE_RUBY_BUILD_OPTS="--enable-load-relative --with-static-linked-ext"
|
|
|
|
# Install Ruby 3.4.5
|
|
RUN mise install ruby@3.4.5
|
|
|
|
# Activate Ruby and install Rails
|
|
RUN mise use ruby@3.4.5
|
|
RUN gem install rails --version 8.0.2.1
|
|
|
|
# Generate a temporary Rails app to install default gems
|
|
RUN rails new temp_app \
|
|
&& rm -rf temp_app
|
|
|
|
# Create a single tarball with Ruby and all gems
|
|
RUN tar -czf /ruby-3.4.5-rails-8.0.2.1.tar.gz -C /mise/installs/ruby 3.4.5
|