sinatra-postgres-passenger-mri.dockerfile 815 B

123456789101112131415161718192021222324252627
  1. FROM ruby:3.3
  2. ENV RUBY_YJIT_ENABLE=1
  3. # Use Jemalloc
  4. RUN apt-get update && \
  5. apt-get install -y --no-install-recommends libjemalloc2
  6. ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
  7. ADD ./ /sinatra
  8. WORKDIR /sinatra
  9. RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
  10. # TODO: https://github.com/phusion/passenger/issues/1916
  11. ENV _PASSENGER_FORCE_HTTP_SESSION=true
  12. ENV DBTYPE=postgresql
  13. RUN ruby -r /sinatra/config/auto_tune -e 'puts auto_tune.first' > instances
  14. EXPOSE 8080
  15. CMD bundle exec passenger start --log-level 1 \
  16. --engine builtin --disable-turbocaching --disable-security-update-check \
  17. --spawn-method direct --max-pool-size $(cat instances) --min-instances $(cat instances) --max-request-queue-size 1024 \
  18. --address 0.0.0.0 --port 8080 --environment production