diff --git a/host_vars/london.mirror.pkgbuild.com/misc b/host_vars/london.mirror.pkgbuild.com/misc
new file mode 100644
index 0000000000000000000000000000000000000000..fade8a9a1d1e3df2f64e7dad302d55e65db0bb29
--- /dev/null
+++ b/host_vars/london.mirror.pkgbuild.com/misc
@@ -0,0 +1,17 @@
+hostname: "london.mirror.pkgbuild.com"
+mirror_domain: "london.mirror.pkgbuild.com"
+archweb_mirrorcheck_locations: [22, 23]
+ipv4_address: "185.73.44.89"
+ipv4_netmask: "/22"
+ipv4_gateway: "185.73.44.1"
+ipv6_address: "2001:ba8:0:4030::2"
+ipv6_netmask: "/64"
+ipv6_gateway: "fe80::fcff:ffff:feff:ffff"
+filesystem: "btrfs"
+network_interface: "enX0"
+system_disks:
+  - /dev/xvda1
+extra_disks:
+  - /dev/xvdb
+wireguard_address: 10.0.0.43
+wireguard_public_key: FuhMj8Vrk0HUR10O2dmgeXtw+bMAuhNesYD+h0lKgSc=
diff --git a/host_vars/london.mirror.pkgbuild.com/vault_wireguard.yml b/host_vars/london.mirror.pkgbuild.com/vault_wireguard.yml
new file mode 100644
index 0000000000000000000000000000000000000000..840b56545b029fe480196da358481b93254e8694
--- /dev/null
+++ b/host_vars/london.mirror.pkgbuild.com/vault_wireguard.yml
@@ -0,0 +1,9 @@
+$ANSIBLE_VAULT;1.1;AES256
+30663137336130633937383231343062333664636631323739373164663563363565383435633362
+6331356532616630373432373031383139613633646461330a373936663337326633656464353862
+36326239373864383662343737313436653639383562303433363634323562653637373236653736
+3765663532643338650a626433353131353730623864646535646138333236316563353032616235
+38653765306433656539383533653930376564663361356134303539316335636435616130383234
+63346238323761343635326263396362656663363237336232663039346465656265616366373433
+36353862386661366563366535383439333531656564366238323032656232633462336166343766
+37613432323131623461
diff --git a/hosts b/hosts
index 39252b8d988231e1ad8f3bb938938953c29335b3..4d1dadf90ced2086d46a6cf821ec3364e50f4460 100644
--- a/hosts
+++ b/hosts
@@ -14,6 +14,7 @@ sydney.mirror.pkgbuild.com
 america.mirror.pkgbuild.com
 asia.mirror.pkgbuild.com
 europe.mirror.pkgbuild.com
+london.mirror.pkgbuild.com
 mirror.pkgbuild.com
 seoul.mirror.pkgbuild.com
 sydney.mirror.pkgbuild.com
@@ -22,6 +23,7 @@ sydney.mirror.pkgbuild.com
 america.mirror.pkgbuild.com
 asia.mirror.pkgbuild.com
 europe.mirror.pkgbuild.com
+london.mirror.pkgbuild.com
 seoul.mirror.pkgbuild.com
 sydney.mirror.pkgbuild.com
 
diff --git a/tf-stage1/archlinux.tf b/tf-stage1/archlinux.tf
index bf9d231cd505cb62d19e5322d43440006859c034..0a76d35c7822d9c95a9013eb2a97f815a97ae9b9 100644
--- a/tf-stage1/archlinux.tf
+++ b/tf-stage1/archlinux.tf
@@ -353,6 +353,10 @@ locals {
       ipv4_address = "89.187.191.12"
       ipv6_address = "2a02:6ea0:c237::2"
     }
+    "london.mirror" = {
+      ipv4_address = "185.73.44.89"
+      ipv6_address = "2001:ba8:0:4030::2"
+    }
     "seoul.mirror" = {
       ipv4_address = "145.40.87.75"
       ipv6_address = "2604:1380:11:2600::1"
diff --git a/tf-stage1/templates.tf b/tf-stage1/templates.tf
index c5997da1037b31afad67f5263f2c764cfe661e6f..0a6f8ac081f30763bfac5d46d4e47d5343cb8747 100644
--- a/tf-stage1/templates.tf
+++ b/tf-stage1/templates.tf
@@ -270,3 +270,13 @@ resource "hetznerdns_record" "geo_ns5" {
   type    = "NS"
   ttl     = lookup(local.geo_domains[each.key], "ttl", 86400)
 }
+
+resource "hetznerdns_record" "geo_ns6" {
+  for_each = local.geo_domains
+
+  zone_id = lookup(each.value, "zone", hetznerdns_zone.archlinux.id)
+  name    = each.value.name
+  value   = "london.mirror.pkgbuild.com."
+  type    = "NS"
+  ttl     = lookup(local.geo_domains[each.key], "ttl", 86400)
+}