development.rb 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. # Print deprecation notices to the Rails logger.
  37. config.active_support.deprecation = :log
  38. # Raise an error on page load if there are pending migrations.
  39. config.active_record.migration_error = :page_load
  40. # Highlight code that triggered database queries in logs.
  41. config.active_record.verbose_query_logs = true
  42. # Debug mode disables concatenation and preprocessing of assets.
  43. # This option may cause significant delays in view rendering with a large
  44. # number of complex assets.
  45. config.assets.debug = true
  46. # Suppress logger output for asset requests.
  47. config.assets.quiet = true
  48. # Raises error for missing translations
  49. # config.action_view.raise_on_missing_translations = true
  50. # Use an evented file watcher to asynchronously detect changes in source code,
  51. # routes, locales, etc. This feature depends on the listen gem.
  52. config.file_watcher = ActiveSupport::EventedFileUpdateChecker
  53. # Remove web_console warnings when running inside a docker container:
  54. # Cannot render console from 172.27.0.1! Allowed networks: 127.0.0.1
  55. if File.file?('/.dockerenv')
  56. require 'socket'
  57. require 'ipaddr'
  58. # Whitelist docker ip for web console
  59. Socket.ip_address_list.each do |addrinfo|
  60. next unless addrinfo.ipv4?
  61. next if addrinfo.ip_address == '127.0.0.1' # Already whitelisted
  62. ip = IPAddr.new(addrinfo.ip_address).mask(24)
  63. Logger.new(STDOUT)
  64. .info("Adding #{ip.inspect} to config.web_console.whitelisted_ips")
  65. config.web_console.whitelisted_ips ||= []
  66. config.web_console.whitelisted_ips << ip
  67. end
  68. end
  69. end