diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..4d360cbc
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "typescript.tsdk": "node_modules/typescript/lib"
+}
diff --git a/config/config.example.toml b/config/config.example.toml
index 0d4ae856..e9b95555 100644
--- a/config/config.example.toml
+++ b/config/config.example.toml
@@ -24,6 +24,18 @@ port = 40007
api_key = ""
enabled = true
+[signups]
+# URL of your Terms of Service
+tos_url = "https://example.com/tos"
+# Whether to enable registrations or not
+registration = true
+rules = [
+ "Do not harass others",
+ "Be nice to people",
+ "Don't spam",
+ "Don't post illegal content",
+]
+
# Delete this section if you don't want to use custom OAuth providers
# This is an example configuration
# The provider MUST support OpenID Connect with .well-known discovery
diff --git a/pages/App.vue b/pages/App.vue
index 6f8f7da5..3b798503 100644
--- a/pages/App.vue
+++ b/pages/App.vue
@@ -4,5 +4,7 @@ import '@unocss/reset/tailwind-compat.css'
-
+
+
+
\ No newline at end of file
diff --git a/pages/Register.vue b/pages/Register.vue
new file mode 100644
index 00000000..6b2027b1
--- /dev/null
+++ b/pages/Register.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
Registrations are disabled
+
+
Ask this instance's admin to enable them in config!
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/RegistrationSuccess.vue b/pages/RegistrationSuccess.vue
new file mode 100644
index 00000000..6575fa04
--- /dev/null
+++ b/pages/RegistrationSuccess.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
Registration was a success!
+
+
You can now login to your account in any Mastodon
+ client
+
+
+
\ No newline at end of file
diff --git a/pages/components/LoginInput.vue b/pages/components/LoginInput.vue
index 896fc224..b1ed5123 100644
--- a/pages/components/LoginInput.vue
+++ b/pages/components/LoginInput.vue
@@ -4,8 +4,8 @@