Files

93 lines
2.4 KiB
Docker
Raw Permalink Normal View History

2024-05-30 20:33:19 -07:00
# syntax = docker/dockerfile:1
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
ARG RUBY_VERSION=3.3.9
2024-05-30 20:33:19 -07:00
FROM docker.io/library/ruby:$RUBY_VERSION-slim as base
# OS Level Dependencies
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
--mount=type=tmpfs,target=/var/log \
rm -f /etc/apt/apt.conf.d/docker-clean; \
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache; \
apt-get update -qq \
&& apt-get install -yq --no-install-recommends \
build-essential \
2025-11-24 08:22:44 -05:00
cmake \
ruby-dev \
gnupg2 \
less \
git \
2025-11-24 08:22:44 -05:00
unixodbc \
unixodbc-dev \
tdsodbc \
freetds-dev \
libvips \
2025-11-24 08:22:44 -05:00
libpq-dev \
2024-05-30 20:33:19 -07:00
curl \
libjemalloc2 \
2025-03-02 17:09:56 -08:00
pkg-config \
2025-11-24 08:22:44 -05:00
python3-dev \
wget \
libtool \
libssl-dev && \
rm -rf /var/lib/apt/lists/*
ARG WATCHMAN_VERSION=v2025.11.10.00
WORKDIR /tmp
RUN git clone https://github.com/facebook/watchman.git -b ${WATCHMAN_VERSION} --depth 1 && \
cd watchman && \
./autogen.sh && \
./configure && \
make && \
make install
# Download and install Watchman from the pre-compiled binary
# RUN curl -L https://github.com/facebook/watchman/archive/refs/tags/v${WATCHMAN_VERSION}.zip -o watchman.zip \
# && unzip watchman.zip \
# && rm watchman.zip \
# && cd watchman-${WATCHMAN_VERSION} \
# && mkdir -p /usr/local/{bin,lib} /usr/local/var/run/watchman \
# && chmod 755 /usr/local/bin/watchman \
# && chmod 2777 /usr/local/var/run/watchman \
# && cd .. \
# && rm -fr ${WATCHMAN_VERSION}
# OS Level Dependencies
# RUN --mount=type=cache,target=/var/cache/apt \
# --mount=type=cache,target=/var/lib/apt,sharing=locked \
# --mount=type=tmpfs,target=/var/log \
# rm -f /etc/apt/apt.conf.d/docker-clean; \
# echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache; \
# apt-get update -qq \
# && apt-get install -yq --no-install-recommends \
# build-essential \
# ruby-dev \
# gnupg2 \
# less \
# git \
# unixodbc \
# unixodbc-dev \
# tdsodbc \
# freetds-dev \
# libvips \
# libpq-dev \
# curl \
# libjemalloc2 \
# pkg-config \
# libtool \
# libssl-dev && \
# rm -rf /var/lib/apt/lists/*
ENV LANG=C.UTF-8 \
BUNDLE_JOBS=4 \
BUNDLE_RETRY=3
WORKDIR /usr/src/app
ENTRYPOINT ["./bin/docker-entrypoint-development"]
2025-11-24 08:22:44 -05:00
EXPOSE 3002
2024-05-30 20:33:19 -07:00
CMD ["./bin/rails", "server"]