diff --git a/README.md b/README.md index db064c2..c6923c6 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,23 @@ This is an open-source, self-hosted web application designed to back up Microsoft 365 mailboxes to a local server in the standard `.eml` format. Built with a security-first approach, it leverages the Microsoft Identity Platform for authentication, ensuring that access is protected by your organization's existing security policies. -## Features +![Restore Portal Screenshot](https://github.com/DualStackAdmin/self-hosted-m365-backup/raw/main/backup%20interface.jpg) +![Login Page Screenshot](https://github.com/DualStackAdmin/self-hosted-m365-backup/raw/main/bakcuplogin.jpg) -- **Web-Based Management Panel:** A modern and convenient web interface for all operations. -- **Secure, Enterprise-Grade Authentication:** Instead of managing local passwords, the application integrates with the Microsoft Identity Platform ("Login with Microsoft"). This ensures that your organization's existing security policies, including **Multi-Factor Authentication (2FA/MFA)**, are automatically enforced, providing a highly secure login experience for administrators. -- **Selective Backup:** Choose one or more users to back up from a dynamically loaded list of all tenant users. -- **Date Filtering:** Back up items from specific time ranges (presets or custom dates). -- **Asynchronous Background Tasks:** Large backup jobs run in the background using Celery and Redis, ensuring the UI is always responsive. -- **Task Status Dashboard:** Monitor the status of all initiated backup tasks (Pending, In Progress, Success, Failure). -- **Interactive Restore Portal:** An Outlook-like three-pane interface to browse backed-up data: - - Navigation through the original mailbox folder structure (Inbox, Sent Items, etc.). - - A list of emails within the selected folder. - - In-browser preview of emails without downloading. -- **Privacy-by-Design Filter:** The email preview pane is blurred by default to respect user privacy, with a hover-to-reveal feature for administrators. -- **Full-Text Search:** Search within the subject and body of all backed-up emails for a specific user. -- **Automated Installation:** A single `install.sh` script to deploy the entire application and its dependencies on a fresh Ubuntu server. +## ✨ Features -## Architecture +- 💻 **Web-Based Management Panel:** A modern and convenient web interface for all operations. +- 🛡️ **Secure, Enterprise-Grade Authentication:** Integrates with the Microsoft Identity Platform ("Login with Microsoft"), automatically enforcing your organization's existing security policies, including **Multi-Factor Authentication (2FA/MFA)**. +- ✅ **Selective Backup:** Choose one or more users to back up from a dynamically loaded list of all tenant users. +- 📅 **Date Filtering:** Back up items from specific time ranges (presets or custom dates). +- ⚙️ **Asynchronous Background Tasks:** Large backup jobs run in the background using Celery and Redis, ensuring the UI is always responsive. +- 📊 **Task Status Dashboard:** Monitor the status of all initiated backup tasks (Pending, In Progress, Success, Failure). +- 📂 **Interactive Restore Portal:** An Outlook-like three-pane interface to browse backed-up data, including folder navigation, an email list, and an in-browser preview pane. +- 👁️‍🗨️ **Privacy-by-Design Filter:** The email preview pane is blurred by default to respect user privacy, with a hover-to-reveal feature for administrators. +- 🔍 **Full-Text Search:** Search within the subject and body of all backed-up emails for a specific user. +- 🚀 **Automated Installation:** A single `install.sh` script to deploy the entire application and its dependencies on a fresh Ubuntu server. + +## 🛠️ Architecture - **Backend:** Python, Flask - **Web Server:** Gunicorn, Nginx (as a Reverse Proxy) @@ -27,7 +27,7 @@ This is an open-source, self-hosted web application designed to back up Microsof - **Frontend:** HTML, Pico.css, HTMX - **Authentication:** Microsoft Identity Platform (OAuth 2.0) -## Installation Guide +## 📖 Installation Guide The installation process consists of two main parts: preparing the prerequisites in the Azure Portal and then running the installation script on your server. @@ -67,17 +67,10 @@ Before running the installation script, you must complete the following steps in ### II. Server Installation -Log into your fresh **Ubuntu 22.04 LTS** server. The following commands will download the installation script, make it executable, and then run it with the necessary privileges. +Log into your fresh **Ubuntu 22.04 LTS** server and follow these steps. +#### Step 1: Download the Script +Use `wget` to download the latest installer from the GitHub repository. ```bash -wget https://raw.githubusercontent.com/DualStackAdmin/self-hosted-m365-backup/main/install.sh +wget [https://raw.githubusercontent.com/DualStackAdmin/self-hosted-m365-backup/main/install.sh](https://raw.githubusercontent.com/DualStackAdmin/self-hosted-m365-backup/main/install.sh) ``` - -```bash -chmod +x install.sh -``` - -```bash -sudo ./install.sh -``` -