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"]