diff --git a/config/puma.rb b/config/puma.rb index cf5a9ca5..7f4e6edd 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -23,8 +23,15 @@ # terminating a worker in development environments. worker_timeout 3600 if ENV.fetch('RAILS_ENV', 'development') == 'development' -# Specifies the `port` that Puma will listen on to receive requests; default is 3000. -port Sagittarius::Configuration.config[:rails][:web][:port] +# Specify either a `bind` or `port` to listen on. +bind_uri = Sagittarius::Configuration.config[:rails][:web][:bind] +port_number = Sagittarius::Configuration.config[:rails][:web][:port] + +if bind_uri + bind bind_uri +else + port port_number +end # Specifies the `environment` that Puma will run in. environment ENV.fetch('RAILS_ENV', 'development') diff --git a/config/sagittarius.example.yml b/config/sagittarius.example.yml index fa6202d1..2648f9d3 100644 --- a/config/sagittarius.example.yml +++ b/config/sagittarius.example.yml @@ -10,6 +10,7 @@ rails: password: changeme web: port: 3000 + bind: # For example: tcp://0.0.0.0:3000 force_ssl: grpc: host: '0.0.0.0:50051' diff --git a/lib/sagittarius/configuration.rb b/lib/sagittarius/configuration.rb index 10fb653a..0dcb0eb8 100644 --- a/lib/sagittarius/configuration.rb +++ b/lib/sagittarius/configuration.rb @@ -24,6 +24,7 @@ def self.defaults web: { port: 3000, force_ssl: nil, + bind: nil, }, grpc: { host: '0.0.0.0:50051',