diff --git a/README.md b/README.md
index 9677b1f..4e3fc11 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ Status Updates is a backend service that keeps your Discord community informed b
## Configuration
-Configuration is managed via environment variables or a config file. See `internal/config/config.go` for all options.
+Configuration is managed via environment variables or a config file. See [envvars.md](envvars.md) for all options.
**Example environment variables:**
```env
diff --git a/envvars.md b/envvars.md
new file mode 100644
index 0000000..fecb938
--- /dev/null
+++ b/envvars.md
@@ -0,0 +1,49 @@
+
+## Discord
+---
+
+- DISCORD_TOKEN
+- DISCORD_PUBLIC_KEY
+- DISCORD_GUILD_ID
+- DISCORD_CHANNEL_ID
+- DISCORD_UPDATE_ROLE_ID
+- DISCORD_SHOULD_CROSSPOST default: `true`
+
+
+## Statuspage
+---
+
+- STATUSPAGE_API_KEY
+- STATUSPAGE_PAGE_ID
+- STATUSPAGE_URL default: `status.ticketsbot.cloud`
+
+
+## Gateway
+---
+
+- SERVER_ADDR default: `8080`
+
+
+## Database
+---
+
+**Note:** The default values below are only used when using the provided `docker-compose.yaml` file.
+- DATABASE_URI default: `postgres://postgres:${DATABASE_PASSWORD:-null}@postgres-statusbot:5432/postgres?sslmode=disable`
+- DATABASE_PASSWORD default: `null`
+
+
+
+# Optional Variables:
+
+## Daemon
+---
+
+- DAEMON_ENABLED default: `false`
+- DAEMON_FREQUENCY default: `30s`
+- DAEMON_EXECUTION_TIMEOUT default: `30m`
+
+## Debug
+---
+
+- JSON_LOGS default: `false`
+- LOG_LEVEL default: `info`