diff --git a/db/migrate/20190612111201_add_geo_container_repository_counters.rb b/db/migrate/20190612111201_add_geo_container_repository_counters.rb
new file mode 100644
index 0000000000000000000000000000000000000000..b73bb885ab7559637b37be69ad37c931ebe7c674
--- /dev/null
+++ b/db/migrate/20190612111201_add_geo_container_repository_counters.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class AddGeoContainerRepositoryCounters < ActiveRecord::Migration[5.1]
+  include Gitlab::Database::MigrationHelpers
+
+  DOWNTIME = false
+
+  def change
+    change_table :geo_node_statuses do |t|
+      t.column :container_repositories_count, :integer
+      t.column :container_repositories_synced_count, :integer
+      t.column :container_repositories_failed_count, :integer
+      t.column :container_repositories_registry_count, :integer
+    end
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 6674f4121402e2f201c5d55922b65bc38ede94d3..591758af0e48eba3e7f33996091a5718d7903b13 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1429,6 +1429,10 @@
     t.integer "repositories_retrying_verification_count"
     t.integer "wikis_retrying_verification_count"
     t.integer "projects_count"
+    t.integer "container_repositories_count"
+    t.integer "container_repositories_synced_count"
+    t.integer "container_repositories_failed_count"
+    t.integer "container_repositories_registry_count"
     t.index ["geo_node_id"], name: "index_geo_node_statuses_on_geo_node_id", unique: true
   end
 
diff --git a/doc/api/geo_nodes.md b/doc/api/geo_nodes.md
index ac64cbedf7dd44e99d184ad55c02aa95ad906475..e3af5d60533a6f961ca4d0401210e85805bdc99b 100644
--- a/doc/api/geo_nodes.md
+++ b/doc/api/geo_nodes.md
@@ -192,6 +192,10 @@ Example response:
     "job_artifacts_failed_count": nil,
     "job_artifacts_synced_missing_on_primary_count": 0,
     "job_artifacts_synced_in_percentage": "0.00%",
+    "container_repositories_count": 3,
+    "container_repositories_synced_count": nil,
+    "container_repositories_failed_count": nil,
+    "container_repositories_synced_in_percentage": "0.00%",
     "projects_count": 41,
     "repositories_failed_count": nil,
     "repositories_synced_count": nil,
@@ -255,6 +259,10 @@ Example response:
     "job_artifacts_failed_count": 1,
     "job_artifacts_synced_missing_on_primary_count": 0,
     "job_artifacts_synced_in_percentage": "50.00%",
+    "container_repositories_count": 3,
+    "container_repositories_synced_count": nil,
+    "container_repositories_failed_count": nil,
+    "container_repositories_synced_in_percentage": "0.00%",
     "projects_count": 41,
     "repositories_failed_count": 1,
     "repositories_synced_count": 40,
@@ -334,6 +342,10 @@ Example response:
   "job_artifacts_failed_count": 1,
   "job_artifacts_synced_missing_on_primary_count": 0,
   "job_artifacts_synced_in_percentage": "50.00%",
+  "container_repositories_count": 3,
+  "container_repositories_synced_count": nil,
+  "container_repositories_failed_count": nil,
+  "container_repositories_synced_in_percentage": "0.00%",
   "projects_count": 41,
   "repositories_failed_count": 1,
   "repositories_synced_count": 40,