diff --git a/README.md b/README.md
index 51ee517..8a64151 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,59 @@
-# disarchive
+
+ DisArchive
+
-Archive message history of Discord channels
\ No newline at end of file
+
+ Discord message archiver
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Overview
+
+A *very* simple tool to archive messages and attachments from Discord channels. Downloads all message attachments as well as the message content and data into a SQLite/MySQL/PostgreSQL database.
+
+## Self-host
+To run DisArchive, follow the steps below.
+
+1. Install Python 3 and Pip
+2. Clone this repository
+3. Install the requirements with `pip install -r requirements.txt`
+4. Configure the `config.yaml` file with required information (more below)
+5. Run `bot.py`
+
+## Configuration
+
+> [!NOTE]
+> If a configuration option is labeled as optional, do not just use an empty value for that field, remove the field entirely from the config file.
+
+### BOT_INFO | REQUIRED
+Field | Description | Requirement
+--- | --- | ---
+TOKEN | The token for your bot. Create a bot at [discord.com/developers](https://discord.com/developers) | **REQUIRED** - *message content intent is REQUIRED*
+BOT_COLOR | `HEX CODE`: Color that will be used for message embeds | **OPTIONAL**
+
+### SQLITE | OPTIONAL
+Field | Description | Requirement
+--- | --- | ---
+NAME | `STRING`: Name of the SQLite database file | **OPTIONAL** - *Default: `disarchive.db`*
+
+### MYSQL / POSTGRESQL | OPTIONAL
+Field | Description | Requirement
+--- | --- | ---
+NAME | `STRING`: Name of the MySQL/PostgreSQL database | **OPTIONAL** - *Default: `disarchive`*
+HOST | `STRING`: Hostname of the MySQL/PostgreSQL server | **OPTION** - *Default: `localhost`*
+PORT | `INT`: Port of the MySQL/PostgreSQL server | **OPTIONAL** - *Default: `3306` for MySQL, `5432` for PostgreSQL*
+USER | `STRING`: Username for the MySQL/PostgreSQL server | **REQUIRED**
+PASSWORD | `STRING`: Password for the MySQL/PostgreSQL server | **REQUIRED**
+
+