diff --git a/commit-watcher/Dockerfile b/commit-watcher/Dockerfile index 5e8bf01..3c29e6f 100644 --- a/commit-watcher/Dockerfile +++ b/commit-watcher/Dockerfile @@ -22,6 +22,9 @@ RUN set -x \ && apk del .build-deps WORKDIR /usr/src/commit-watcher + +COPY database.yml /usr/src/commit-watcher/config/database.yml +COPY production.rb /usr/src/commit-watcher/config/environments/production.rb VOLUME /usr/src/commit-watcher CMD ["./scripts/deploy"] diff --git a/commit-watcher/database.yml b/commit-watcher/database.yml new file mode 100644 index 0000000..aa09ab3 --- /dev/null +++ b/commit-watcher/database.yml @@ -0,0 +1,28 @@ +default: &default + adapter: mysql2 + encoding: utf8 + pool: 5 + username: root + password: + # Use this for local mysql instances + socket: /var/run/mysqld/mysqld.sock + + # Use this for Docker + #host: localhost:3306 + +development: + <<: *default + database: commit_watcher_development + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: commit_watcher_test + +production: + <<: *default + username: commit_watcher + password: <%= ENV['COMMIT_WATCHER_DATABASE_PASSWORD'] %> + database: commit_watcher_production diff --git a/commit-watcher/production.rb b/commit-watcher/production.rb new file mode 100644 index 0000000..83eda1d --- /dev/null +++ b/commit-watcher/production.rb @@ -0,0 +1,97 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Enable Rack::Cache to put a simple HTTP cache in front of your application + # Add `rack-cache` to your Gemfile before enabling this. + # For large-scale production use, consider using a caching reverse proxy like + # NGINX, varnish or squid. + # config.action_dispatch.rack_cache = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # Asset digests allow you to set far-future HTTP expiration dates on all assets, + # yet still be able to expire them through the digest params. + config.assets.digest = true + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + + # Set log level + # config.log_level = :debug + config.log_level = :ERROR + + + # Prepend all log lines with the following tags. + # config.log_tags = [ :subdomain, :uuid ] + + # Use a different logger for distributed setups. + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + # Enable stdout logger + config.logger = Logger.new(STDOUT) + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Do not dump schema after migrations. + #config.active_record.dump_schema_after_migration = false + + config.action_mailer.delivery_method = :smtp + + # SMTP settings for email notifications + config.action_mailer.smtp_settings = { + address: 'smtp.gmail.com', + port: 587, + user_name: ENV['GMAIL_USERNAME'], + password: ENV['GMAIL_PASSWORD'], + authentication: 'plain', + enable_starttls_auto: true + } +end