default: &default adapter: postgresql encoding: unicode # Note on DB_POOL_SIZE: # ------------------------------------------------------------------------------------------------------------- # To optimize for the simplest self-hosting setup, we run ActionCable, GoodJob, and Rails in the same process. # # This requires DB connections for each: # # Puma: Requires 3 connections (Rails default) # ActionCable: 5 connections (Rails defaults to 4 workers + 1 listener for Postgres adapter) # GoodJob: 15 connections to run in "async" mode. See `good_job.rb` for the breakdown. # -------------------------------------------------------------------------------------------- # Total: 23 connections # # We default to this value so that self-hosters don't need to configure anything. Hosted mode will require # a different pool size, as we run ActionCable, GoodJob, and Rails in separate processes. # pool: <%= ENV.fetch("DB_POOL_SIZE") { 23 } %> host: <%= ENV.fetch("DB_HOST") { "127.0.0.1" } %> port: <%= ENV.fetch("DB_PORT") { "5432" } %> user: <%= ENV.fetch("POSTGRES_USER") { nil } %> password: <%= ENV.fetch("POSTGRES_PASSWORD") { nil } %> development: <<: *default database: <%= ENV.fetch("POSTGRES_DB") { "maybe_development" } %> test: <<: *default database: <%= ENV.fetch("POSTGRES_DB") { "maybe_test" } %> production: <<: *default database: <%= ENV.fetch("POSTGRES_DB") { "maybe_production" } %>