FROM ruby:3.4 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 ADD ./ /sinatra WORKDIR /sinatra ENV BUNDLE_WITH=postgresql:passenger RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile # TODO: https://github.com/phusion/passenger/issues/1916 ENV _PASSENGER_FORCE_HTTP_SESSION=true ENV DBTYPE=postgresql RUN ruby -r /sinatra/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