commit c0feed3ab863a4f4c14277987f347d9cf829543b Author: michael Date: Sat Aug 16 20:36:58 2025 +0200 Home hinzugefügt diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..af6cb39 --- /dev/null +++ b/Home.md @@ -0,0 +1,111 @@ +# Furt API Gateway + +**Pure Lua HTTP-Server für digitale Souveränität** + +Furt ist ein minimalistisches, multi-tenant API-Gateway basierend auf Lua 5.1. Der gesamte Code ist in unter 1000 Zeilen Lua geschrieben und damit vollständig nachvollziehbar. + +## Features + +- **Multi-Tenant Mail-Routing** - Ein Gateway für viele Websites +- **API-Key-basierte Authentifizierung** - Granulare Berechtigungen pro Client +- **Rate Limiting** - Schutz vor Missbrauch +- **CORS-Support** - Frontend-Integration +- **nginx-style Konfiguration** - Vertraute Syntax für Admins +- **Distribution-agnostic** - OpenBSD, Debian, Arch, FreeBSD Support + +## Quick Start + +### 1. Installation +```bash +# Git-basierte Installation (empfohlen für Development) +git clone https://github.com/dragons-at-work/furt.git +cd furt +./install.sh + +# Package-basierte Installation (empfohlen für Production) +curl -O https://releases.../furt-api-gateway-v1.0.0.tar.gz +tar xzf furt-api-gateway-v1.0.0.tar.gz +cd furt-api-gateway-v1.0.0 +./install.sh +``` + +### 2. Basis-Konfiguration +```bash +# Config-Template kopieren +# BSD-Systeme: Packages gehören nach /usr/local/etc/ (klare Trennung base/ports) +doas cp config/furt.conf.example /usr/local/etc/furt/furt.conf # OpenBSD/FreeBSD + +# Linux-Systeme: Alles nach /etc/ (einheitlicher Namespace) +sudo cp config/furt.conf.example /etc/furt/furt.conf # Debian/Arch + +# API-Keys und SMTP konfigurieren +# doas = OpenBSD-Standard (minimaler sudo-Ersatz, weniger Angriffsfläche) +doas nano /usr/local/etc/furt/furt.conf # OpenBSD/FreeBSD + +# sudo = Linux-Standard (komplexer, aber bekannt) +sudo nano /etc/furt/furt.conf # Debian/Arch +``` + +### 3. Service starten +```bash +# BSD-Systeme: Native Service-Management (kein systemd) +doas rcctl enable furt && doas rcctl start furt # OpenBSD (rcctl = OpenBSD service manager) +doas service furt enable && doas service furt start # FreeBSD (rc.conf-basiert) + +# Linux-Systeme: systemd als Standard +# systemd = umfangreich aber einheitlich über Distributionen +sudo systemctl enable furt && sudo systemctl start furt +``` + +### 4. Testen +```bash +curl http://localhost:8080/health +``` + +## Navigation + +### Installation & Setup +- **[Installation](Installation.md)** - Vollständige Installationsanleitung +- **[Konfiguration](Configuration.md)** - Config-System Dokumentation +- **[Troubleshooting](Troubleshooting.md)** - Häufige Probleme + +### Development +- **[Development Setup](Development.md)** - Lokale Entwicklungsumgebung +- **[API Documentation](API-Documentation.md)** - Endpunkte und Verwendung +- **[Contributing](Contributing.md)** - Beitrag zum Projekt + +### Current Status + +**v1.0.0 Features:** +- ✅ Mail-Service (`POST /v1/mail/send`) +- ✅ Health-Check (`GET /health`) +- ✅ API-Key Authentication +- ✅ Multi-Tenant Configuration +- ✅ Rate Limiting +- ✅ CORS Support + +**Roadmap:** +- 🔄 Comment-Service (sagjan integration) +- 📋 Project-Management-Service (lengan) +- 💳 Payment-Service (wixlaz) + +## Architecture + +Furt folgt dem **Service-Separation-Prinzip**: +- **furt** = Service-Discovery-Coordinator +- **sagjan** = Comments (separate namespace) +- **formular2mail** = Mail-Routing (separate namespace) + +Jeder Service behält seine eigene Konfiguration, furt koordiniert nur die Discovery und das Routing. + +**Technische Basis:** +- **Lua 5.1** als Implementierungssprache +- **nginx-style Konfiguration** für vertraute Admin-Workflows +- **Multi-OS Support** über distribution-spezifische Package-Layouts +- **Socket-basierter HTTP-Server** ohne externe Dependencies + +--- + +**Projekt:** [Dragons@Work Digital Sovereignty](https://dragons-at-work.de) +**Repository:** [Forgejo](https://smida.dragons-at-work.de/DAW/furt) | [GitHub Mirror](https://github.com/dragons-at-work/furt) +**License:** Apache 2.0 \ No newline at end of file