FROM ruby:3.4 ADD ./ /rack-sequel WORKDIR /rack-sequel ENV RUBY_YJIT_ENABLE=1 # Use Jemalloc RUN apt-get update && \ apt-get install -y --no-install-recommends libjemalloc2 ENV LD_PRELOAD=libjemalloc.so.2 RUN bundle config set without 'mysql puma unicorn' RUN bundle install --jobs=4 --gemfile=/rack-sequel/Gemfile # TODO: https://github.com/phusion/passenger/issues/1916 ENV _PASSENGER_FORCE_HTTP_SESSION=true ENV DBTYPE=postgresql RUN ruby -r /rack-sequel/config/auto_tune -e 'puts auto_tune.first' > instances EXPOSE 8080 CMD bundle exec passenger start --log-level 1 \ --engine builtin --disable-turbocaching --disable-security-update-check \ --spawn-method direct --max-pool-size $(cat instances) --min-instances $(cat instances) --max-request-queue-size 1024 \ --address 0.0.0.0 --port 8080 --environment production