development.rb 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. # frozen_string_literal: true
  2. Rails.application.configure do
  3. # Settings specified here will take precedence over those in
  4. # config/application.rb.
  5. # In the development environment your application's code is reloaded on
  6. # every request. This slows down response time but is perfect for development
  7. # since you don't have to restart the web server when you make code changes.
  8. config.cache_classes = false
  9. # Do not eager load code on boot.
  10. config.eager_load = false
  11. # Show full error reports.
  12. config.consider_all_requests_local = true
  13. # Enable/disable caching. By default caching is disabled.
  14. # Run rails dev:cache to toggle caching.
  15. if Rails.root.join('tmp', 'caching-dev.txt').exist?
  16. config.action_controller.perform_caching = true
  17. config.action_controller.enable_fragment_cache_logging = true
  18. config.cache_store = if ENV['REDIS_URL']
  19. [:redis_cache_store, {url: ENV['REDIS_URL']}]
  20. else
  21. :memory_store
  22. end
  23. config.public_file_server.headers = {
  24. 'Cache-Control' => "public, max-age=#{2.days.to_i}",
  25. }
  26. else
  27. config.action_controller.perform_caching = false
  28. config.cache_store = :null_store
  29. end
  30. # Store uploaded files on the local file system (see config/storage.yml for
  31. # options)
  32. config.active_storage.service = :local
  33. # Don't care if the mailer can't send.
  34. config.action_mailer.raise_delivery_errors = false
  35. config.action_mailer.perform_caching = false
  36. config.action_mailer.default_url_options = {
  37. host: 'localhost',
  38. port: ENV['WEB_HOST_PORT'],
  39. }
  40. config.action_mailer.delivery_method = :letter_opener
  41. config.action_mailer.perform_deliveries = true
  42. # Print deprecation notices to the Rails logger.
  43. config.active_support.deprecation = :log
  44. # Raise an error on page load if there are pending migrations.
  45. config.active_record.migration_error = :page_load
  46. # Highlight code that triggered database queries in logs.
  47. config.active_record.verbose_query_logs = true
  48. # Debug mode disables concatenation and preprocessing of assets.
  49. # This option may cause significant delays in view rendering with a large
  50. # number of complex assets.
  51. config.assets.debug = true
  52. # Suppress logger output for asset requests.
  53. config.assets.quiet = true
  54. # Raises error for missing translations
  55. # config.action_view.raise_on_missing_translations = true
  56. # Use an evented file watcher to asynchronously detect changes in source code,
  57. # routes, locales, etc. This feature depends on the listen gem.
  58. config.file_watcher = ActiveSupport::EventedFileUpdateChecker
  59. # Remove web_console warnings when running inside a docker container:
  60. # Cannot render console from 172.27.0.1! Allowed networks: 127.0.0.1
  61. if File.file?('/.dockerenv')
  62. require 'socket'
  63. require 'ipaddr'
  64. # Whitelist docker ip for web console
  65. Socket.ip_address_list.each do |addrinfo|
  66. next unless addrinfo.ipv4?
  67. next if addrinfo.ip_address == '127.0.0.1' # Already whitelisted
  68. ip = IPAddr.new(addrinfo.ip_address).mask(24)
  69. Logger.new(STDOUT)
  70. .info("Adding #{ip.inspect} to config.web_console.whitelisted_ips")
  71. config.web_console.whitelisted_ips ||= []
  72. config.web_console.whitelisted_ips << ip
  73. end
  74. end
  75. end