diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts
index 7ec0abb..f2577e8 100644
--- a/documentation/.vitepress/config.mts
+++ b/documentation/.vitepress/config.mts
@@ -92,7 +92,7 @@ export default defineConfig({
link: "/docs/configuration/immich_integration",
},
{
- text: "Social Auth",
+ text: "Social Auth and OIDC",
link: "/docs/configuration/social_auth",
},
{
diff --git a/documentation/docs/configuration/social_auth/authentik.md b/documentation/docs/configuration/social_auth/authentik.md
index bf9c5f4..a633e0c 100644
--- a/documentation/docs/configuration/social_auth/authentik.md
+++ b/documentation/docs/configuration/social_auth/authentik.md
@@ -1,4 +1,4 @@
-# Authentik Social Authentication
+# Authentik OIDC Authentication
@@ -47,6 +47,6 @@ This configuration is done in the [Admin Panel](../../guides/admin_panel.md). Yo

-4. Save the configuration and restart the AdventureLog server.
+4. Save the configuration.
Ensure that the Authentik server is running and accessible by AdventureLog. Users should now be able to log in to AdventureLog using their Authentik account.
diff --git a/documentation/docs/configuration/social_auth/github.md b/documentation/docs/configuration/social_auth/github.md
index e69de29..2239dc7 100644
--- a/documentation/docs/configuration/social_auth/github.md
+++ b/documentation/docs/configuration/social_auth/github.md
@@ -0,0 +1,44 @@
+# GitHub Social Authentication
+
+AdventureLog can be configured to use GitHub as an identity provider for social authentication. Users can then log in to AdventureLog using their GitHub account.
+
+# Configuration
+
+To enable GitHub as an identity provider, the administrator must first configure GitHub to allow AdventureLog to authenticate users.
+
+### GitHub Configuration
+
+1. Visit the GitHub OAuth Apps Settings page at [https://github.com/settings/developers](https://github.com/settings/developers).
+2. Click on `New OAuth App`.
+3. Fill in the following fields:
+
+ - Application Name: `AdventureLog` or any other name you prefer.
+ - Homepage URL: `` where `` is the URL of your AdventureLog Frontend service.
+ - Application Description: `AdventureLog` or any other description you prefer.
+ - Authorization callback URL: `http:///accounts/github/login/callback/` where `` is the URL of your AdventureLog Backend service.
+ - If you want the logo, you can find it [here](https://adventurelog.app/adventurelog.png).
+
+### AdventureLog Configuration
+
+This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can either launch the pannel directly from the `Settings` page or navigate to `/admin` on your AdventureLog server.
+
+1. Login to AdventureLog as an administrator and navigate to the `Settings` page.
+2. Scroll down to the `Administration Settings` and launch the admin panel.
+3. In the admin panel, navigate to the `Social Accounts` section and click the add button next to `Social applications`. Fill in the following fields:
+
+ - Provider: `GitHub`
+ - Provider ID: GitHub Client ID
+ - Name: `GitHub`
+ - Client ID: GitHub Client ID
+ - Secret Key: GitHub Client Secret
+ - Key: can be left blank
+ - Settings: can be left blank
+ - Sites: move over the sites you want to enable Authentik on, usually `example.com` and `www.example.com` unless you renamed your sites.
+
+#### What it Should Look Like
+
+
+
+4. Save the configuration.
+
+Users should now be able to log in to AdventureLog using their GitHub account, and link it to exisiting accounts.
diff --git a/documentation/docs/configuration/social_auth/oidc.md b/documentation/docs/configuration/social_auth/oidc.md
index e69de29..0b0384d 100644
--- a/documentation/docs/configuration/social_auth/oidc.md
+++ b/documentation/docs/configuration/social_auth/oidc.md
@@ -0,0 +1,7 @@
+# OIDC Social Authentication
+
+AdventureLog can be configured to use OpenID Connect (OIDC) as an identity provider for social authentication. Users can then log in to AdventureLog using their OIDC account.
+
+The configuration is basically the same as [Authentik](./authentik.md), but you replace the client and secret with the OIDC client and secret provided by your OIDC provider. The `server_url` should be the URL of your OIDC provider where you can find the OIDC configuration.
+
+Each provider has a different configuration, so you will need to check the documentation of your OIDC provider to find the correct configuration.
diff --git a/documentation/public/github_settings.png b/documentation/public/github_settings.png
new file mode 100644
index 0000000..5d54369
Binary files /dev/null and b/documentation/public/github_settings.png differ