diff --git a/docs/fail2ban.md b/docs/fail2ban.md
index e2cf5b2952e9a9a9035c71bed67c76e6d7b0e568..4f315c70549c39208d8c0640623ccc93493454e8 100644
--- a/docs/fail2ban.md
+++ b/docs/fail2ban.md
@@ -24,7 +24,7 @@ The sshd jail should be enabled for every host we have, to block brute force ssh
 
 ### postfix
 
-The postfix jail is enabled for Apollo and Orion, to block failed SMTP requests. Adding it to a host:
+The postfix jail not enabled on any server. Adding it to a host:
 
 Add `fail2ban_jails` dict with `postfix: true` to the host's `host_vars`.
 
diff --git a/docs/servers.md b/docs/servers.md
index 47bf8b007217929bb442e0d9a011525f6e6d6dc0..3b69050aea3a1f2f874dbe4e0550b0cb493a226a 100644
--- a/docs/servers.md
+++ b/docs/servers.md
@@ -17,12 +17,10 @@
   - mailman
   - projects (projects.archlinux.org)
 
-## apollo
+## archlinux.org
 
 ### Services
-  - wiki (wiki.archlinux.org)
-  - archweb
-  - patchwork
+  - archweb (Arch's site)
 
 ## aur.archlinux.org
 
@@ -110,6 +108,12 @@ Medium-fast-ish packet.net Arch Linux box.
 ### Services
   - GitLab runner
 
+## mail.archlinux.org
+
+### Services
+  - postfix (mail server)
+  - rspamd
+  - dovecot (imap)
 
 ## monitoring.archlinux.org
 
@@ -127,6 +131,26 @@ Hosts our gnupg open web key directory for fetching Arch Linux keyring keys over
 ### Services
   - WKD
 
+## patchwork.archlinux.org
+
+### Services
+  - patchwork
+
+## redirect.archlinux.org
+
+### Services
+  - Redirects (nginx redirects)
+
+## security.archlinux.org
+
+### Services
+  - security tracker
+
+## wiki.archlinux.org
+
+### Services
+  - archwiki
+
 
 ## Archive Mirrors
 
diff --git a/docs/ssh-hostkeys.txt b/docs/ssh-hostkeys.txt
index 8e21f4e756ebf5bed63991681451150027dfb27f..ea7425ffd55b70da41b13b37c3b28352484ea637 100644
--- a/docs/ssh-hostkeys.txt
+++ b/docs/ssh-hostkeys.txt
@@ -20,17 +20,6 @@
 256 MD5:4b:0b:1c:81:27:81:7a:22:b4:48:88:75:69:a5:b4:4e root@america.mirror.pkgbuild.com (ED25519)
 3072 MD5:a2:41:dc:97:5a:ae:89:7a:4f:69:f7:ec:a0:d4:67:b6 root@america.mirror.pkgbuild.com (RSA)
 
-# apollo.archlinux.org
-1024 SHA256:WArxFzvhf5HknYxil2EQSHHRirM2cyjqbtLvhbQAYC8 root@apollo (DSA)
-256 SHA256:sYJfY17PE0kJ4K8fbkPK/XqRQjY1+g6hmIF7dvTbZoo root@apollo (ECDSA)
-256 SHA256:owwpolkJxPyUmmfJMfFeYIdDXiruwzaEw3bS+q6k97Q root@apollo (ED25519)
-2048 SHA256:JW9dUO95gxGJRTkV/V/1HtmLfLq8uztbWc5KAOg8Blc root@apollo (RSA)
-
-1024 MD5:90:46:7f:8e:1e:79:17:10:1e:32:79:a7:69:c6:4b:a4 root@apollo (DSA)
-256 MD5:4b:52:61:77:f7:f8:4e:75:ca:83:e6:ae:fc:6e:77:67 root@apollo (ECDSA)
-256 MD5:a7:84:8b:95:4f:53:ac:b6:9d:24:79:79:fc:c7:bf:1f root@apollo (ED25519)
-2048 MD5:77:b0:17:18:57:74:38:91:47:31:43:04:47:e9:9e:30 root@apollo (RSA)
-
 # archlinux.org
 1024 SHA256:7jLDIo/l9ngy+KcC2Yh2yCE+gSVix4VmZVaVTMLOiEg root@archlinux-packer (DSA)
 256 SHA256:9nc3jaxyh21w+HVT1Xo0/ujMx7/qWKguqcSiDX7jrA0 root@archlinux-packer (ECDSA)
diff --git a/docs/ssh-known_hosts.txt b/docs/ssh-known_hosts.txt
index a63712ae17e1d3395c8d5ae627a1a4e32f48dfdb..5d174c64eb62704a1fd311d7c6720b9734aee401 100644
--- a/docs/ssh-known_hosts.txt
+++ b/docs/ssh-known_hosts.txt
@@ -8,11 +8,6 @@ america.mirror.pkgbuild.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYA
 america.mirror.pkgbuild.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMofe+VPkI+MKGWYkonc5IsTwVmf2OcX8atVgnXkjbqL
 america.mirror.pkgbuild.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC+7ePbae+aA+W6JZxhce1qvxnTG6VIEtShFD+/4TlMNFzVxh8DcmD+sw+NCKFshGddKhh3n4TWO68XAxWN4KQzfpgYHgzcoyNR3T1zle2oWfTL29KU3/X4OIvQc3aeqnyAhHvu7vXDnWfZgC1uGu0QecAqJcRxEPkz15OJkZjr/zZt01BUa2y7OUQbSFRckeLoSPQeSNFOQ0hlWCdN0laoHsYPznyievuJJxWMTa9Wkamn+oVx1S95sF1a6PSN8LztCxxXKRTikpau+SCLpPiqd1kV4WXgOPWGoRvQ0PNzOICwmKEeCdw0QfzoNm70FftLvy/bFq7qa1tSvau/SFwRRdnDRlr7dZXLqbXp+si+GD80TL4scUH6LRQJkxL0Z5X/FKOPGutf8BhIovbhoSkiTyY51bDQIXLTCqm1sE2GrEI1CvT5lOvG43C2e8U7bnLw2hQ++GRUct89mI8f/8hHdDllUkUgfsksL7ObMTvkbF6NoCogZjHsTRtwaP0DU/M=
 
-# apollo.archlinux.org
-apollo.archlinux.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMicA8QKPeY1hp29QcTe25eT7yd+zOx1sj6o0F+XA/POc2TRsiSidJogCaf4e3wpw4T2ccb7ixnvGmy7hCAcngA=
-apollo.archlinux.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGz+b+or4nKpcXJgDjwt3LdO0EPk9Zw1z1W9L8rcV8UX
-apollo.archlinux.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHUYq82CCrnZhey7Hclhe79+s7YUZv/So1HWjoSAs8qObpJX4Mn3bwcILOoD1LE6VdkQu+tZwFpl8A1DrmKgpO++SEoFft77jgigzDbwEuSuBbP8eOo1zyDX1q3Sipecf41s6psY3bxcVbINAkm/PDFxpM8tEU+8TqpCupa5fNLimiwBk7fyncxbah+ACaLlm+f02Ku9pBcPfFzlsEoZBrncAyhx3bm4qXH/uYVOtBjzi6KrZYyEbXX+0LxRhxuELkhYqbNpyFIDfPKYgXc1pRHgAkS2CxZO2p1Uy1zJFC8edM3ma+I0Wn9+alGMHC6jCOm2iFT9THLS2NPJq67Yan
-
 # archlinux.org
 archlinux.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB0PUXX25/7fRKiayZos7f1LIG925vOQlnuTE7HuSKiVhiYHi3XB9JyILKaekOb73hNJOUdE8kBEzhXESbrn1mM=
 archlinux.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBeUGb+Q4QLN8yg1pohasTnfhwO7rNmW7Ih/PTrnmY0V
diff --git a/host_vars/apollo.archlinux.org b/host_vars/apollo.archlinux.org
deleted file mode 100644
index b8e47d4aac17b50d49b1e599513254f04f2e947d..0000000000000000000000000000000000000000
--- a/host_vars/apollo.archlinux.org
+++ /dev/null
@@ -1,20 +0,0 @@
----
-hostname: "apollo"
-
-ipv4_address: "138.201.81.199"
-ipv4_netmask: "/32"
-ipv6_address: "2a01:4f8:172:1d86::1"
-ipv6_netmask: "/128"
-ipv4_gateway: "138.201.81.193"
-ipv6_gateway: "fe80::1"
-filesystem: btrfs
-system_disks:
-  - /dev/sda
-  - /dev/sdb
-
-kanboard_version: "v1.2.14"
-
-fail2ban_jails:
-  sshd: true
-  postfix: true
-  dovecot: false
diff --git a/hosts b/hosts
index cb3a33c0136216bea975950fd3183958bc6e00e7..042cbaf566c2c9152bda25d46192401136cbeb99 100644
--- a/hosts
+++ b/hosts
@@ -1,5 +1,4 @@
 [hetzner]
-apollo.archlinux.org
 luna.archlinux.org
 dragon.archlinux.org
 secure-runner1.archlinux.org
@@ -25,7 +24,6 @@ europe.mirror.pkgbuild.com
 
 [borg_clients]
 archlinux.org
-apollo.archlinux.org
 aur-dev.archlinux.org
 luna.archlinux.org
 state.archlinux.org
@@ -54,7 +52,6 @@ u236610.your-storagebox.de
 homedir.archlinux.org
 
 [mysql_servers]
-apollo.archlinux.org
 luna.archlinux.org
 bbs.archlinux.org
 bugs.archlinux.org
@@ -64,7 +61,6 @@ wiki.archlinux.org
 
 [postgresql_servers]
 archlinux.org
-apollo.archlinux.org
 state.archlinux.org
 quassel.archlinux.org
 accounts.archlinux.org
@@ -72,7 +68,6 @@ patchwork.archlinux.org
 
 [nginx]
 archlinux.org
-apollo.archlinux.org
 luna.archlinux.org
 bbs.archlinux.org
 bugs.archlinux.org
diff --git a/playbooks/apollo.yml b/playbooks/apollo.yml
deleted file mode 100644
index f9790c676e355233e6d86c577a8a0533cf879b92..0000000000000000000000000000000000000000
--- a/playbooks/apollo.yml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-
-- name: "prepare postgres ssl hosts list"
-  hosts: apollo.archlinux.org
-  tasks:
-      - name: assign ipv4 addresses to fact postgres_ssl_hosts4
-        set_fact: postgres_ssl_hosts4="{{ [gemini4] + detected_ips }}"
-        vars:
-            gemini4: "{{ hostvars['gemini.archlinux.org']['ipv4_address'] }}/32"
-            detected_ips: "{{ groups['mirrors'] | map('extract', hostvars, ['ipv4_address']) | select() | map('regex_replace', '^(.+)$', '\\1/32') | list }}"
-        tags: ["postgres", "firewall"]
-      - name: assign ipv6 addresses to fact postgres_ssl_hosts6
-        set_fact: postgres_ssl_hosts6="{{ [gemini6] + detected_ips }}"
-        vars:
-            gemini6: "{{ hostvars['gemini.archlinux.org']['ipv6_address'] }}/128"
-            detected_ips: "{{ groups['mirrors'] | map('extract', hostvars, ['ipv6_address']) | select() | map('regex_replace', '^(.+)$', '\\1/128') | list }}"
-        tags: ["postgres", "firewall"]
-
-- name: setup apollo
-  hosts: apollo.archlinux.org
-  remote_user: root
-  roles:
-    - { role: common }
-    - { role: tools }
-    - { role: sshd }
-    - { role: root_ssh }
-    - { role: borg_client, tags: ["borg"] }
-    - { role: certbot }
-    - { role: nginx }
-    - { role: rspamd, tags: ["mail"] }
-    - { role: unbound, tags: ["mail"] }
-    - { role: postfix, postfix_relayhost: "mail.archlinux.org", postfix_smtpd_public: true, postfix_patchwork_enabled: true, tags: ["mail"] }
-    - { role: postfwd, tags: ['mail'] }
-    - role: postgres
-      postgres_listen_addresses: "*"
-      postgres_max_connections: 1000
-      postgres_ssl: 'on'
-      postgres_shared_buffers: 4096MB
-    - { role: mariadb, mariadb_query_cache_type: '0', mariadb_innodb_file_per_table: True }
-    - { role: sudo }
-    - { role: uwsgi }
-    - { role: php_fpm, php_extensions: ['bcmath', 'curl', 'gd', 'iconv', 'intl', 'mysqli', 'pdo_pgsql', 'pgsql', 'sockets', 'zip'], zend_extensions: ['opcache'] }
-    - { role: memcached }
-    - { role: archweb, archweb_planet: true }
-    - role: security_tracker
-      security_tracker_domain: "security.archlinux.org"
-      security_tracker_nginx_conf: '/etc/nginx/nginx.d/security-tracker.conf'
-      security_tracker_dir: "/srv/http/security-tracker"
-    - { role: mailman, mailman_domain: "lists.archlinux.org" }
-    - { role: patchwork }
-    - { role: grafana }
-    - { role: archwiki }
-    - { role: conf_archlinux }
-    - { role: fail2ban }
-    - { role: prometheus_exporters }
diff --git a/roles/postfix/tasks/main.yml b/roles/postfix/tasks/main.yml
index 57735490812ba1d254a9dd281bf7d2c7088a601a..a7782610b84da0b1c8ed52d03db33f3a72b631c6 100644
--- a/roles/postfix/tasks/main.yml
+++ b/roles/postfix/tasks/main.yml
@@ -108,21 +108,8 @@
     - smtp
     - smtp-submission
     - smtps
-  when: postfix_smtpd_public and configure_firewall and inventory_hostname != "apollo.archlinux.org"
+  when: postfix_smtpd_public and configure_firewall
   tags:
     - firewall
 
 
-- name: open ipv4 firewall holes on apollo
-  ansible.posix.firewalld: permanent=true state=enabled immediate=yes
-    rich_rule="rule family=ipv4 source address={{ hostvars['mail.archlinux.org']['ipv4_address'] }} port protocol=tcp port=25 accept"
-  when: postfix_smtpd_public and configure_firewall and inventory_hostname == "apollo.archlinux.org"
-  tags:
-    - firewall
-
-- name: open ipv6 firewall holes on apollo
-  ansible.posix.firewalld: permanent=true state=enabled immediate=yes
-    rich_rule="rule family=ipv6 source address={{ hostvars['mail.archlinux.org']['ipv6_address'] }} port protocol=tcp port=25 accept"
-  when: postfix_smtpd_public and configure_firewall and inventory_hostname == "apollo.archlinux.org"
-  tags:
-    - firewall
diff --git a/tf-stage1/archlinux.tf b/tf-stage1/archlinux.tf
index 9006a19134baece871be998e3701765f965195da..4503b3d62286bcae33860bb7c62aafbd998c9613 100644
--- a/tf-stage1/archlinux.tf
+++ b/tf-stage1/archlinux.tf
@@ -160,16 +160,12 @@ locals {
   #   - ttl (optional)
   #
   # Example:
-  # apollo = {
-  #   ipv4_address = "138.201.81.199"
-  #   ipv6_address = "2a01:4f8:172:1d86::1"
+  # gemini = {
+  #   ipv4_address = "49.12.124.107"
+  #   ipv6_address = "2a01:4f8:242:5614::2"
   #   ttl          = 600
   # }
   archlinux_org_a_aaaa = {
-    apollo = {
-      ipv4_address = "138.201.81.199"
-      ipv6_address = "2a01:4f8:172:1d86::1"
-    }
     aur4 = {
       ipv4_address = "5.9.250.164"
       ipv6_address = "2a01:4f8:160:3033::2"
@@ -232,7 +228,6 @@ locals {
     dev                      = { value = "www" }
     g2kjxsblac7x             = { value = "gv-i5y6mnrelvpfiu.dv.googlehosted.com." }
     git                      = { value = "luna" }
-    grafana                  = { value = "apollo" }
     ipxe                     = { value = "www" }
     "luna2._domainkey.aur"   = { value = "luna2._domainkey" }
     "luna2._domainkey.lists" = { value = "luna2._domainkey" }
@@ -244,7 +239,6 @@ locals {
     rsync                    = { value = "gemini" }
     sources                  = { value = "gemini" }
     "static.conf"            = { value = "redirect" }
-    static                   = { value = "apollo" }
     status                   = { value = "stats.uptimerobot.com." }
     svn                      = { value = "gemini" }
   }
@@ -405,14 +399,6 @@ resource "hetznerdns_record" "archlinux_org_origin_ns1" {
 #   type = "SOA"
 # }
 
-resource "hetznerdns_record" "archlinux_org_origin_apollo_domainkey_txt" {
-  zone_id = hetznerdns_zone.archlinux.id
-  name    = "apollo._domainkey"
-  ttl     = 600
-  value   = "\"v=DKIM1; k=rsa; s=email; \" \"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvZIf8SbjC53RDCbMjTEpo0FCuMSShlKWdwWjY1J+RpT3CL/21z4nXqVBYF1orkUScH8Nlabocraqk8lmpNBlKCUV77lk9mRsLkWhg+XjhvQXL1xfH8zAg1CntEZuaIMLUQ+5Gkw6BlO1qDRkmXS9UtV8Jt1rhjRtSrgN5lhztOCbQLRAtzKty/nMeClqsfT3nL2hbDeh+b/rYc\" \"l2veZAqiGcR2/0bnKlt+Nb5lOBY3oZiYLmZ5g+l9UXVjGUq9jGAooIWpQvuRPmin3RX31kXfr1A+mDBEexiOL1dDST2Zx7i9puXbqYH0u0IxBpweHCO5UqWx52mdXBuhs+DCo/JoZAHU/6eRzK+Sps50LgLFSzJJNfGXk5PUKdww2GHbkK3mCYfoFCpB0SADzl42+1w6YZk1yXoPdOHtChfQpCgjtddf1W8Q09pYO1/bn4l0erdFQsWb1K\" \"4wEVOCn+hHWbV42V+J3TyGxQ4AM8KQ1OPvUEabyTyqcO4evBaH7/S2wA91Z9QDjTbKmlNovs5zoxuOM/mPGPUuQMvhjoAP+rg4AwJ3Xwd3GgUcqQflcokayUYdp7F3aKp1NWAR9ibseU/XBYsSF8Ucjqzf4DJFUfrgjHUr97st7g4HUCyXrQO4tyE0ytiX8OFjjIszWLmF+B7Vup9O7k+dNz2Vj2Vyzkq1UCAwEAAQ==\" "
-  type    = "TXT"
-}
-
 resource "hetznerdns_record" "archlinux_org_lists_mx" {
   zone_id = hetznerdns_zone.archlinux.id
   name    = "lists"