lexivo/Dockerfile.dev
2026-03-30 13:18:39 +02:00

47 lines
1.2 KiB
Docker

ARG RUBY_VERSION=4.0.1
FROM ruby:${RUBY_VERSION}-slim
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
build-essential \
libpq-dev \
libyaml-dev \
postgresql-client \
nodejs \
git \
curl \
libjemalloc2 \
chromium \
chromium-driver \
&& rm -rf /var/lib/apt/lists /var/cache/apt/archives
RUN ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so
# Install AnyCable Go
RUN ARCH=$(uname -m) && \
if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then \
ANYCABLE_ARCH="arm64"; \
else \
ANYCABLE_ARCH="amd64"; \
fi && \
curl -L "https://github.com/anycable/anycable-go/releases/download/v1.5.6/anycable-go-linux-${ANYCABLE_ARCH}" -o /usr/local/bin/anycable-go && \
chmod +x /usr/local/bin/anycable-go
ENV RAILS_ENV=development \
BUNDLE_PATH=/usr/local/bundle \
RAILS_LOG_TO_STDOUT=true \
LD_PRELOAD="/usr/local/lib/libjemalloc.so"
WORKDIR /rails
COPY Gemfile Gemfile.lock* ./
RUN bundle install && gem install foreman
COPY . .
RUN chmod +x bin/*
ENTRYPOINT ["/rails/bin/docker-entrypoint"]
EXPOSE 3000
CMD ["./bin/rails", "server", "-b", "0.0.0.0", "-p", "3000"]