Last active
May 1, 2024 11:00
-
-
Save geekelo/6f310c6dc2f80155b20350b3a9eded7d to your computer and use it in GitHub Desktop.
Steps to Deploy ROR on render
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "active_support/core_ext/integer/time" | |
Rails.application.configure do | |
# Settings specified here will take precedence over those in config/application.rb. | |
# Code is not reloaded between requests. | |
config.enable_reloading = false | |
# 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 | |
# Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment | |
# key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). | |
# config.require_master_key = true | |
# Disable serving static files from the `/public` folder by default since | |
# Apache or NGINX already handles this. | |
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? || ENV['RENDER'].present? | |
# Enable static file serving from the `/public` folder (turn off if using NGINX/Apache for it). | |
config.public_file_server.enabled = true | |
# Compress CSS using a preprocessor. | |
# config.assets.css_compressor = :sass | |
# Do not fallback to assets pipeline if a precompiled asset is missed. | |
config.assets.compile = false | |
# Enable serving of images, stylesheets, and JavaScripts from an asset server. | |
# config.asset_host = "http://assets.example.com" | |
# 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 | |
# Store uploaded files on the local file system (see config/storage.yml for options). | |
config.active_storage.service = :local | |
# Mount Action Cable outside main process or domain. | |
# config.action_cable.mount_path = nil | |
# config.action_cable.url = "wss://example.com/cable" | |
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ] | |
# Assume all access to the app is happening through a SSL-terminating reverse proxy. | |
# Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. | |
# config.assume_ssl = true | |
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. | |
config.force_ssl = true | |
# Log to STDOUT by default | |
config.logger = ActiveSupport::Logger.new(STDOUT) | |
.tap { |logger| logger.formatter = ::Logger::Formatter.new } | |
.then { |logger| ActiveSupport::TaggedLogging.new(logger) } | |
# Prepend all log lines with the following tags. | |
config.log_tags = [ :request_id ] | |
# Info include generic and useful information about system operation, but avoids logging too much | |
# information to avoid inadvertent exposure of personally identifiable information (PII). If you | |
# want to log everything, set the level to "debug". | |
config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info") | |
# Use a different cache store in production. | |
# config.cache_store = :mem_cache_store | |
# Use a real queuing backend for Active Job (and separate queues per environment). | |
# config.active_job.queue_adapter = :resque | |
# config.active_job.queue_name_prefix = "cash_in_out_production" | |
config.action_mailer.perform_caching = false | |
# 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 | |
# Don't log any deprecations. | |
config.active_support.report_deprecations = false | |
# Do not dump schema after migrations. | |
config.active_record.dump_schema_after_migration = false | |
# Enable DNS rebinding protection and other `Host` header attacks. | |
# config.hosts = [ | |
# "example.com", # Allow requests from example.com | |
# /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` | |
# ] | |
# Skip DNS rebinding protection for the default health check endpoint. | |
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } } | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Puma can serve each request in a thread from an internal thread pool. | |
# The `threads` method setting takes two numbers: a minimum and maximum. | |
# Any libraries that use thread pools should be configured to match | |
# the maximum value specified for Puma. Default is set to 5 threads for minimum | |
# and maximum; this matches the default thread size of Active Record. | |
# | |
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } | |
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } | |
threads min_threads_count, max_threads_count | |
# Specifies the `port` that Puma will listen on to receive requests; default is 3000. | |
# | |
port ENV.fetch("PORT") { 3000 } | |
# Specifies the `environment` that Puma will run in. | |
# | |
environment ENV.fetch("RAILS_ENV") { "development" } | |
# Specifies the `pidfile` that Puma will use. | |
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" } | |
# Specifies the number of `workers` to boot in clustered mode. | |
# Workers are forked web server processes. If using threads and workers together | |
# the concurrency of the application would be max `threads` * `workers`. | |
# Workers do not work on JRuby or Windows (both of which do not support | |
# processes). | |
# | |
workers ENV.fetch("WEB_CONCURRENCY") { 4 } | |
# Use the `preload_app!` method when specifying a `workers` number. | |
# This directive tells Puma to first boot the application and load code | |
# before forking the application. This takes advantage of Copy On Write | |
# process behavior so workers use less memory. | |
# | |
preload_app! | |
# Allow puma to be restarted by `rails restart` command. | |
plugin :tmp_restart |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# exit on error | |
set -o errexit | |
bundle install | |
bundle exec rails assets:precompile | |
bundle exec rails assets:clean | |
bundle exec rails db:migrate |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ensure the above is added in bin/render-build.sh
hen run command:
chmod a+x bin/render-build.sh