diff --git a/.travis.yml b/.travis.yml
index 6a2ca9143a1..129da18869a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,9 +24,6 @@ matrix:
   fast_finish: true
 
 rvm:
-  - 2.0.0
-  - 2.1
-  - 2.2
   - 2.3.1
 
 services:
diff --git a/README.md b/README.md
index f74dcb0be48..6cdf4c101b8 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ Browse [lots more notable Discourse instances](http://www.discourse.org/faq/cust
 
 2. If you're familiar with how Rails works and are comfortable setting up your own environment, use our [**Discourse Advanced Developer Guide**](docs/DEVELOPER-ADVANCED.md).
 
-Before you get started, ensure you have the following minimum versions: [Ruby 2.0.0+](http://www.ruby-lang.org/en/downloads/), [PostgreSQL 9.3+](http://www.postgresql.org/download/), [Redis 2.6+](http://redis.io/download). If you're having trouble, please see our [**TROUBLESHOOTING GUIDE**](docs/TROUBLESHOOTING.md) first!
+Before you get started, ensure you have the following minimum versions: [Ruby 2.3+](http://www.ruby-lang.org/en/downloads/), [PostgreSQL 9.3+](http://www.postgresql.org/download/), [Redis 2.6+](http://redis.io/download). If you're having trouble, please see our [**TROUBLESHOOTING GUIDE**](docs/TROUBLESHOOTING.md) first!
 
 ## Setting up Discourse
 
diff --git a/app/models/admin_dashboard_data.rb b/app/models/admin_dashboard_data.rb
index 66a31f88752..a8103aa7dec 100644
--- a/app/models/admin_dashboard_data.rb
+++ b/app/models/admin_dashboard_data.rb
@@ -90,7 +90,7 @@ class AdminDashboardData
       'dashboard.poll_pop3_auth_error'
     ]
 
-    add_problem_check :rails_env_check, :ruby_version_check, :host_names_check,
+    add_problem_check :rails_env_check, :host_names_check,
                       :ram_check, :google_oauth2_config_check,
                       :facebook_config_check, :twitter_config_check,
                       :github_config_check, :s3_config_check, :image_magick_check,
@@ -249,10 +249,6 @@ class AdminDashboardData
     I18n.t('dashboard.notification_email_warning') if !SiteSetting.notification_email.present? || SiteSetting.notification_email == SiteSetting.defaults[:notification_email]
   end
 
-  def ruby_version_check
-    I18n.t('dashboard.ruby_version_warning') if RUBY_VERSION == '2.0.0' and RUBY_PATCHLEVEL < 247
-  end
-
   def subfolder_ends_in_slash_check
     I18n.t('dashboard.subfolder_ends_in_slash') if Discourse.base_uri =~ /\/$/
   end
diff --git a/config/boot.rb b/config/boot.rb
index 517524d879c..afa16ad5afd 100644
--- a/config/boot.rb
+++ b/config/boot.rb
@@ -1,10 +1,6 @@
 if ENV['DISCOURSE_DUMP_HEAP'] == "1"
   require 'objspace'
-  begin
-    ObjectSpace.trace_object_allocations_start
-  rescue NoMethodError
-    puts "Heap dumps not available for Ruby #{RUBY_VERSION} (> 2.1 required)"
-  end
+  ObjectSpace.trace_object_allocations_start
 end
 
 require 'rubygems'
diff --git a/config/initializers/006-mini_profiler.rb b/config/initializers/006-mini_profiler.rb
index 9ef0c9ec925..c8ab968581c 100644
--- a/config/initializers/006-mini_profiler.rb
+++ b/config/initializers/006-mini_profiler.rb
@@ -2,12 +2,7 @@
 if Rails.configuration.respond_to?(:load_mini_profiler) && Rails.configuration.load_mini_profiler
   require 'rack-mini-profiler'
   require 'flamegraph'
-
-  begin
-    require 'memory_profiler' if RUBY_VERSION >= "2.1.0"
-  rescue => e
-     STDERR.put "#{e} failed to require mini profiler"
-  end
+  require 'memory_profiler'
 
   # initialization is skipped so trigger it
   Rack::MiniProfilerRails.initialize!(Rails.application)
diff --git a/config/initializers/099-unicorn.rb b/config/initializers/099-unicorn.rb
index 43e8cb75f7e..e6152b69d70 100644
--- a/config/initializers/099-unicorn.rb
+++ b/config/initializers/099-unicorn.rb
@@ -4,9 +4,4 @@ if defined? Unicorn::HttpServer
   ObjectSpace.each_object(Unicorn::HttpServer) do |s|
     s.extend(Scheduler::Defer::Unicorn)
   end
-
-  if ENV['UNICORN_ENABLE_OOBGC'] == '1' && RUBY_VERSION < "2.2.0"
-    require 'middleware/unicorn_oobgc'
-    Middleware::UnicornOobgc.init
-  end
 end
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index c7ab81feb01..72bd75017ea 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -779,7 +779,6 @@ en:
 
   dashboard:
     rails_env_warning: "Your server is running in %{env} mode."
-    ruby_version_warning: "You are running a version of Ruby 2.0.0 that is known to have problems. Upgrade to patch level 247 or later."
     host_names_warning: "Your config/database.yml file is using the default localhost hostname. Update it to use your site's hostname."
     gc_warning: 'Your server is using default ruby garbage collection parameters, which will not give you the best performance. Read this topic on performance tuning: <a href="http://meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126" target="_blank">Tuning Ruby and Rails for Discourse</a>.'
     sidekiq_warning: 'Sidekiq is not running. Many tasks, like sending emails, are executed asynchronously by sidekiq. Please ensure at least one sidekiq process is running. <a href="https://github.com/mperham/sidekiq" target="_blank">Learn about Sidekiq here</a>.'