rack-sequel-postgres-passenger-mri.dockerfile 831 B

123456789101112131415161718192021222324252627
  1. FROM ruby:3.3
  2. ADD ./ /rack-sequel
  3. WORKDIR /rack-sequel
  4. ENV RUBY_YJIT_ENABLE=1
  5. # Use Jemalloc
  6. RUN apt-get update && \
  7. apt-get install -y --no-install-recommends libjemalloc2
  8. ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
  9. RUN bundle install --jobs=4 --gemfile=/rack-sequel/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 /rack-sequel/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