X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5506b2d9592f04800436c968055f540685efd29e..563769b126089f0a7035ae599879a381365f543b:/config/environment.rb?ds=inline diff --git a/config/environment.rb b/config/environment.rb index 0d98c70bd..ba5241a21 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,61 +1,96 @@ -# Be sure to restart your web server when you modify this file. +# Be sure to restart your server when you modify this file -# Limit each rails process to a 512Mb resident set size -Process.setrlimit Process::RLIMIT_AS, 640*1024*1024, Process::RLIM_INFINITY - -# Uncomment below to force Rails into production mode when +# Uncomment below to force Rails into production mode when # you don't control web/app server and can't set it the proper way ENV['RAILS_ENV'] ||= 'production' -# Don't add asset tags -ENV["RAILS_ASSET_ID"] = '' - # Specifies gem version of Rails to use when vendor/rails is not present -RAILS_GEM_VERSION = '1.2.3' +RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION -# Bootstrap the Rails environment, frameworks, and default configuration -require File.join(File.dirname(__FILE__), 'boot') +# Set the server URL +SERVER_URL = ENV['OSM_SERVER_URL'] || 'www.openstreetmap.org' + +# Set the generator +GENERATOR = ENV['OSM_SERVER_GENERATOR'] || 'OpenStreetMap server' # Application constants needed for routes.rb - must go before Initializer call -API_VERSION = ENV['OSM_API_VERSION'] || '0.5' +API_VERSION = ENV['OSM_API_VERSION'] || '0.6' -# Custom logger class to format messages sensibly -class OSMLogger < Logger - def format_message(severity, time, progname, msg) - "[%s.%06d #%d] %s\n" % [time.strftime("%Y-%m-%d %H:%M:%S"), time.usec, $$, msg.sub(/^\n+/, "")] - end -end +# Set application status - possible settings are: +# +# :online - online and operating normally +# :api_readonly - site online but API in read-only mode +# :api_offline - site online but API offline +# :database_readonly - database and site in read-only mode +# :database_offline - database offline with site in emergency mode +# :gpx_offline - gpx storage offline +# +OSM_STATUS = :online + +# Bootstrap the Rails environment, frameworks, and default configuration +require File.join(File.dirname(__FILE__), 'boot') Rails::Initializer.run do |config| - # Settings in config/environments/* take precedence those specified here - - # Skip frameworks you're not going to use - # config.frameworks -= [ :action_web_service, :action_mailer ] + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + # See Rails::Configuration for more options. + + # Skip frameworks you're not going to use (only works if using vendor/rails). + # To use Rails without a database, you must remove the Active Record framework + if OSM_STATUS == :database_offline + config.frameworks -= [ :active_record ] + end + + # Specify gems that this application depends on. + # They can then be installed with "rake gems:install" on new installations. + # config.gem "bj" + # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net" + # config.gem "aws-s3", :lib => "aws/s3" + config.gem 'composite_primary_keys', :version => '2.2.2' + config.gem 'libxml-ruby', :version => '>= 1.1.1', :lib => 'libxml' + config.gem 'rmagick', :lib => 'RMagick' + config.gem 'oauth', :version => '>= 0.3.6' + config.gem 'httpclient' + config.gem 'SystemTimer', :version => '>= 1.1.3', :lib => 'system_timer' + + # Only load the plugins named here, in the order given. By default, all plugins + # in vendor/plugins are loaded in alphabetical order. + # :all can be used as a placeholder for all plugins not explicitly named + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] # Add additional load paths for your own custom dirs # config.load_paths += %W( #{RAILS_ROOT}/extras ) - # Force all environments to use the same logger level + # Force all environments to use the same logger level # (by default production uses :info, the others :debug) # config.log_level = :debug - # Use our custom logger - config.logger = OSMLogger.new(config.log_path) - config.logger.level = Logger.const_get(config.log_level.to_s.upcase) + # Configure cache + config.cache_store = :file_store, "#{RAILS_ROOT}/tmp/cache" + + # Your secret key for verifying cookie session data integrity. + # If you change this key, all old sessions will become invalid! + # Make sure the secret is at least 30 characters and all random, + # no regular words or you'll be exposed to dictionary attacks. + config.action_controller.session = { + :session_key => '_osm_session', + :secret => 'd886369b1e709c61d1f9fcb07384a2b96373c83c01bfc98c6611a9fe2b6d0b14215bb360a0154265cccadde5489513f2f9b8d9e7b384a11924f772d2872c2a1f' + } - # Use the database for sessions instead of the file system + # Use the database for sessions instead of the cookie-based default, + # which shouldn't be used to store highly confidential information # (create the session table with 'rake db:sessions:create') - # config.action_controller.session_store = :sql_session_store + config.action_controller.session_store = :sql_session_store - # Unfortunately SqlSessionStore is a plugin which has not been - # loaded yet, so we have to do things the hard way... - config.after_initialize do - ActionController::Base.session_store = :sql_session_store - SqlSessionStore.session_class = MysqlSession - end + # We will use the old style of migrations, rather than the newer + # timestamped migrations that were introduced with Rails 2.1, as + # it will be confusing to have the numbered and timestamped migrations + # together in the same folder. + config.active_record.timestamped_migrations = false # Use SQL instead of Active Record's schema dumper when creating the test database. - # This is necessary if your schema can't be completely dumped by the schema dumper, + # This is necessary if your schema can't be completely dumped by the schema dumper, # like if you have constraints or database-specific column types config.active_record.schema_format = :sql @@ -63,38 +98,5 @@ Rails::Initializer.run do |config| # config.active_record.observers = :cacher, :garbage_collector # Make Active Record use UTC-base instead of local time - # config.active_record.default_timezone = :utc - - # See Rails::Configuration for more options + config.active_record.default_timezone = :utc end - -# Add new inflection rules using the following format -# (all these examples are active by default): -# Inflector.inflections do |inflect| -# inflect.plural /^(ox)$/i, '\1en' -# inflect.singular /^(ox)en/i, '\1' -# inflect.irregular 'person', 'people' -# inflect.uncountable %w( fish sheep ) -# end - -# Set to :readonly to put the API in read-only mode or :offline to -# take it completely offline -API_STATUS = :online - -# Include your application configuration below -SERVER_URL = ENV['OSM_SERVER_URL'] || 'www.openstreetmap.org' - -ActionMailer::Base.smtp_settings = { - :address => "localhost", - :port => 25, - :domain => 'localhost', -} - -#Taming FCGI -# -COUNT = 0 -MAX_COUNT = 10000 - - - -