diff options
| author | Florent Peyraud | 2017-12-17 15:39:07 +0100 | 
|---|---|---|
| committer | Alban Peignier | 2018-01-07 23:22:19 +0100 | 
| commit | 1d100b42b9a47c73dc7723775407308b19b14f54 (patch) | |
| tree | 7eb09568813282cc014d8255efb5edba628b41ae | |
| parent | fa63d6e3d51ccc0b3a38616747fcd91b5fdfbba5 (diff) | |
| download | chouette-core-1d100b42b9a47c73dc7723775407308b19b14f54.tar.bz2 | |
docker first commit
| -rw-r--r-- | config/database.yml.docker | 11 | ||||
| -rw-r--r-- | config/environments/production.rb | 67 | ||||
| -rw-r--r-- | config/initializers/sidekiq.rb | 5 | ||||
| -rw-r--r-- | lib/tasks/install.rake | 20 | 
4 files changed, 65 insertions, 38 deletions
| diff --git a/config/database.yml.docker b/config/database.yml.docker new file mode 100644 index 000000000..f49b22b87 --- /dev/null +++ b/config/database.yml.docker @@ -0,0 +1,11 @@ +<%= ENV.fetch 'RAILS_ENV', 'production' %>: +  adapter: <%= ENV.fetch 'RAILS_DB_ADAPTER', 'postgis' %> +  encoding: unicode +  pool: <%= ENV.fetch 'RAILS_DB_POOLSIZE', '5' %> +  host: <%= ENV.fetch 'RAILS_DB_HOST', 'db' %> +  port: <%= ENV.fetch 'RAILS_DB_PORT', '5432' %> +  schema_search_path: 'public,shared_extensions' +  postgis_schema: 'shared_extensions' +  database: <%= ENV.fetch 'RAILS_DB_NAME', 'chouette' %> +  username: <%= ENV.fetch 'RAILS_DB_USER', 'chouette' %> +  password: <%= ENV.fetch 'RAILS_DB_PASSWORD' %> diff --git a/config/environments/production.rb b/config/environments/production.rb index 8e21f0919..64eeaa854 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -19,7 +19,8 @@ Rails.application.configure do    # config.action_dispatch.rack_cache = true    # Disable Rails's static asset server (Apache or nginx will already do this). -  config.serve_static_files = false +  # config.serve_static_files = false +  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?    # Compress JavaScripts and CSS.    config.assets.js_compressor = :uglifier @@ -53,9 +54,10 @@ Rails.application.configure do    #if ENV['OS'] == 'Windows_NT'    #  # args = log_path,number of files,file sizes    #  config.logger = Logger.new("C:/chouette/logs/chouette2.log", 5, 10.megabytes) -  config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new("rails/chouette2").tap do |syslog| -                                                     syslog.level = Logger::INFO -                                                   end) +  config.logger = Logger.new(STDOUT) +  #config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new("rails/chouette2").tap do |syslog| +  #                                                   syslog.level = Logger::INFO +  #                                                 end)    # Use a different cache store in production.    # config.cache_store = :mem_cache_store @@ -84,42 +86,31 @@ Rails.application.configure do    config.active_record.dump_schema_after_migration = false -  config.action_mailer.default_url_options = { :host => 'my-domain-name.com' } +  config.action_mailer.default_url_options = { :host => ENV.fetch('MAIL_HOST','iboo.stif.info') }    # Configure the e-mail address which will be shown in Devise::Maile -  config.mailer_sender = "chouette-production@my-domain-name.com" - -  ActionMailer::Base.smtp_settings = { -    :address        => "smtp.sample.com", -    :port           => 25, -    :domain         => "sample.com", -    :user_name      => "smtp_user", -    :password       => "smtp_password", -    :authentication => :login -  } +  config.mailer_sender = ENV.fetch('MAIL_FROM', 'STIF Iboo <noreply@stif.info>') +  config.action_mailer.default_options = { from: ENV.fetch('MAIL_FROM', 'STIF Iboo <noreply@stif.info>') } +  config.action_mailer.smtp_settings = { address: ENV.fetch('SMTP_HOST', 'mail.stif.info') } +  config.action_mailer.asset_host          = ENV.fetch('MAIL_ASSETS_URL_BASE','http://iboo.stif.info')    # Specific theme for each company    # AFIMB -  config.company_name = "afimb" -  config.company_theme = "#61970b" # AFIMB color -  config.company_contact = "http://www.chouette.mobi/club-utilisateurs/contact-support/" -  config.accept_user_creation = true - -  # CITYWAY -  # config.company_name = "cityway" -  # config.company_theme = "#32adb0" -  # config.company_contact = "http://www.cityway.fr/contact/?rub_code=14" -  # config.accept_user_creation = false - -  config.chouette_authentication_settings = { -    type: "cas", -    cas_server: "https://portail-server/sessions", -    cas_validate_url: "http://portail-server/sessions/proxyValidate" -  } -  config.stif_portail_api = { -    key: "api_token_for_portail_goes_here", -    url: "http://portail-server" -  } +  config.company_name = ENV.fetch('COMPANY_NAME',"STIF") +  config.company_theme = ENV.fetch('COMPANY_THEME',"#61970b") # AFIMB color +  config.company_contact = ENV.fetch('COMPANY_CONTACT',"http://www.chouette.mobi/club-utilisateurs/contact-support/") +  config.accept_user_creation = ENV.fetch('ACCEPT_USER_CREATION','0')=='1'?true:false + +  config.chouette_authentication_settings = JSON.parse(ENV.fetch('AUTH_SETTINGS','{ +    "type": "cas", +    "cas_server": "https://portail.stif.info/sessions", +    "cas_validate_url": "http://portail.stif.info/sessions/proxyValidate" +  }',{symbolize_names: true})) + +  config.stif_portail_api = JSON.parse(ENV.fetch('SESAME_API_SETTINGS','{ +    "key": "xxxxxxxxxxx", +    "url": "http://portail.stif.info" +  }',{symbolize_names: true}))    # file to data for demo    # config.demo_data = "/path/to/demo.zip" @@ -135,12 +126,12 @@ Rails.application.configure do    config.i18n.available_locales = [:fr, :en]    # REFLEX api url -  config.reflex_api_url = "https://pprod.reflex.stif.info/ws/reflex/V1/service=getData" +  config.reflex_api_url = ENV.fetch('REFLEX_API_URL',"https://pprod.reflex.stif.info/ws/reflex/V1/service=getData")    # CODIFLIGNE api url -  config.codifligne_api_url = "https://pprod.codifligne.stif.info/rest/v1/lc/getlist" +  config.codifligne_api_url = ENV.fetch('CODIFLIGNE_API_URL',"https://pprod.codifligne.stif.info/rest/v1/lc/getlist")    # IEV -  config.iev_url = "http://worker-server:8080" +  config.iev_url = ENV.fetch('IEV_URL',"http://iev:8080")    config.rails_host = ENV.fetch('RAILS_HOST')    # Set node env for browserify-rails diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index e44d8df52..bc60dbe20 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -7,4 +7,9 @@ Sidekiq.configure_server do |config|        pendings.map { |sync| sync.failed({error: 'Failed by Sidekiq reboot', processing_time: 0}) }      end    end +  config.redis = { url: ENV.fetch('SIDEKIQ_REDIS_URL', 'redis://redis:6379/12') } +end + +Sidekiq.configure_client do |config| +  config.redis = { url: ENV.fetch('SIDEKIQ_REDIS_URL', 'redis://redis:6379/12') }  end diff --git a/lib/tasks/install.rake b/lib/tasks/install.rake index ccc6f2450..c5cfd3cde 100644 --- a/lib/tasks/install.rake +++ b/lib/tasks/install.rake @@ -21,3 +21,23 @@ task :package do    sh "tar -czf stif-boiv-#{release_name}.tar.gz -C tmp/package ."    sh "rm -rf tmp/package vendor/cache"  end + +desc "generate all-in-1 tar.gz package for docker" +task :pkg4docker do +  release_name = Time.now.strftime('%Y%m%d%H%M%S') + +  rm_rf "tmp/package" +  mkdir_p "tmp/package" + +  sh "git archive --format=tar --output=tmp/package/stif-boiv-release-#{release_name}.tar HEAD" + +  sh "bundle package --all" +  sh "RAILS_DB_ADAPTER=nulldb bundle exec rake assets:clobber RAILS_ENV=production" +  sh "RAILS_DB_ADAPTER=nulldb bundle exec rake assets:precompile RAILS_ENV=production" +  sh "tar -rf tmp/package/stif-boiv-release-#{release_name}.tar vendor/cache" +  sh "tar -rf tmp/package/stif-boiv-release-#{release_name}.tar public/assets" + +  sh "gzip -c tmp/package/stif-boiv-release-#{release_name}.tar > tmp/stif-boiv-release.tar.gz" + +  sh "rm -rf tmp/package vendor/cache" +end | 
