diff --git a/changelog.d/13052.misc b/changelog.d/13052.misc
new file mode 100644
index 0000000000000000000000000000000000000000..0d11dfb12ae756cc21690e23e210fb4b70508dfc
--- /dev/null
+++ b/changelog.d/13052.misc
@@ -0,0 +1 @@
+Refactor entry points so that they all have a `main` function.
\ No newline at end of file
diff --git a/synapse/app/appservice.py b/synapse/app/appservice.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/appservice.py
+++ b/synapse/app/appservice.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/client_reader.py b/synapse/app/client_reader.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/client_reader.py
+++ b/synapse/app/client_reader.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/event_creator.py b/synapse/app/event_creator.py
index 885454ed44c0a17830c623ffda084601054f1eaa..7995d99825c8b133e6b1cdd79321268cc35b3d0e 100644
--- a/synapse/app/event_creator.py
+++ b/synapse/app/event_creator.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/federation_reader.py b/synapse/app/federation_reader.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/federation_reader.py
+++ b/synapse/app/federation_reader.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/federation_sender.py b/synapse/app/federation_sender.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/federation_sender.py
+++ b/synapse/app/federation_sender.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/frontend_proxy.py b/synapse/app/frontend_proxy.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/frontend_proxy.py
+++ b/synapse/app/frontend_proxy.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/media_repository.py b/synapse/app/media_repository.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/media_repository.py
+++ b/synapse/app/media_repository.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/pusher.py b/synapse/app/pusher.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/pusher.py
+++ b/synapse/app/pusher.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/synchrotron.py b/synapse/app/synchrotron.py
index de1bcee0a78515ee4e46b2c7f56b4830f18599bc..b6aed651ed60d17027638edee53ae6e5c215eb53 100644
--- a/synapse/app/synchrotron.py
+++ b/synapse/app/synchrotron.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/synapse/app/user_dir.py b/synapse/app/user_dir.py
index 14bde27179437502c0c4308b79a06227b7e526af..34f23c4e5d069d88cd29d6456ea7d8421f10d5f7 100644
--- a/synapse/app/user_dir.py
+++ b/synapse/app/user_dir.py
@@ -17,6 +17,11 @@ import sys
 from synapse.app.generic_worker import start
 from synapse.util.logcontext import LoggingContext
 
-if __name__ == "__main__":
+
+def main() -> None:
     with LoggingContext("main"):
         start(sys.argv[1:])
+
+
+if __name__ == "__main__":
+    main()