Table of Contents
- Installation
- Voraussetzungen
- Setup
- 1. Repository klonen
- 2. (Optional) Python Virtual Environment erstellen
- 3. Abhängigkeiten installieren
- 4. Konfiguration einrichten
- Option A: Konfiguration im Code-Repo (für Entwicklung/Test)
- Option B: Getrenntes Config-Repo (für Produktion empfohlen)
- 5. Credentials erstellen
- 6. Konfiguration anpassen
- 7. Konfiguration validieren
- 8. Verbindung testen
- 9. Ersten Check durchführen
- 10. (Optional) Wrapper-Script installieren
- Nächste Schritte
Installation
Voraussetzungen
- Python 3.8 oder höher
- pip (Python Package Manager)
Setup
1. Repository klonen
git clone <repository-url>
cd mail-filter
2. (Optional) Python Virtual Environment erstellen
Empfohlen: Verwende ein Python Virtual Environment, um Abhängigkeiten isoliert zu installieren.
Linux/Mac:
# Virtual Environment erstellen
python3 -m venv venv
# Virtual Environment aktivieren
source venv/bin/activate
Windows:
# Virtual Environment erstellen
python -m venv venv
# Virtual Environment aktivieren
venv\Scripts\activate
Nach der Aktivierung erscheint (venv) in deiner Kommandozeile.
Hinweis: Um das Virtual Environment zu deaktivieren, führe deactivate aus.
3. Abhängigkeiten installieren
pip install -r requirements.txt
Hinweis: Wenn du ein Virtual Environment verwendest, stelle sicher, dass es aktiviert ist, bevor du die Abhängigkeiten installierst.
4. Konfiguration einrichten
Es gibt zwei Möglichkeiten, die Konfiguration einzurichten:
Option A: Konfiguration im Code-Repo (für Entwicklung/Test)
Kopiere die Beispiel-Konfiguration und passe sie an:
cp config/config.yaml.example config/config.yaml
cp filters/work_rules.yaml.example filters/work_rules.yaml
Option B: Getrenntes Config-Repo (für Produktion empfohlen)
Für Produktionsumgebungen wird empfohlen, die Konfiguration in einem separaten, privaten Repository zu verwalten:
# Separates privates Config-Repo klonen
sudo mkdir -p /opt
sudo git clone <config-repo-url> /opt/mail-filter-config
# Credentials-Verzeichnis erstellen
sudo mkdir -p /opt/mail-filter-config/config/credentials
# Credentials-Dateien manuell erstellen (siehe Schritt 5)
Vorteile:
- Trennung von Code und Konfiguration
- Private Verwaltung sensibler Daten
- Einfache Aktualisierung der Konfiguration ohne Code-Änderungen
Siehe auch: Konfiguration - Getrenntes Config-Repo
5. Credentials erstellen
Erstelle Credentials-Dateien für deine E-Mail-Accounts:
# Beispiel für einen Account
cat > config/credentials/work.cred << EOF
username=work@example.com
password=dein-passwort
EOF
# Wichtig: Setze Dateiberechtigungen
chmod 600 config/credentials/*.cred
6. Konfiguration anpassen
Bearbeite config/config.yaml und passe die Einstellungen an:
7. Konfiguration validieren
Prüfe, ob die Konfiguration korrekt ist:
Standard-Konfiguration:
python main.py validate-config
Externe Konfiguration (getrenntes Config-Repo):
python main.py --config /opt/mail-filter-config/config/config.yaml validate-config
8. Verbindung testen
Teste die Verbindung zu deinem E-Mail-Account:
Standard-Konfiguration:
python main.py test-connection <account-name>
Externe Konfiguration:
python main.py --config /opt/mail-filter-config/config/config.yaml test-connection <account-name>
9. Ersten Check durchführen
Führe einen ersten Test-Check durch:
Standard-Konfiguration:
python main.py check --account <account-name> --dry-run
Externe Konfiguration:
python main.py --config /opt/mail-filter-config/config/config.yaml check --account <account-name> --dry-run
10. (Optional) Wrapper-Script installieren
Empfohlen: Installiere den Wrapper-Script, um das Tool ohne manuelle venv-Aktivierung zu verwenden und für systemd-Services vorzubereiten.
System-weite Installation:
sudo cp mail-filter /usr/local/bin/mail-filter
sudo chmod +x /usr/local/bin/mail-filter
Jetzt kannst du mail-filter von überall aus verwenden:
mail-filter check
mail-filter run
mail-filter test-connection work
systemd Service einrichten:
Für die Verwendung als systemd Service, siehe INSTALL_WRAPPER.md im Haupt-Repository.
Nächste Schritte
- Konfiguration - Detaillierte Konfigurationsoptionen
- Accounts - E-Mail-Accounts einrichten
- Filter - Filterregeln erstellen
- Verwendung - CLI-Befehle verwenden