Home aktualisiert

michael 2025-09-10 11:54:29 +02:00
parent 21469360db
commit 1d5dddcf5f

175
Home.md

@ -2,7 +2,7 @@
**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.
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 und kontrollierbar.
## Features
@ -11,92 +11,135 @@ Furt ist ein minimalistisches, multi-tenant API-Gateway basierend auf Lua 5.1. D
- **Rate Limiting** - Schutz vor Missbrauch
- **CORS-Support** - Frontend-Integration
- **nginx-style Konfiguration** - Vertraute Syntax für Admins
- **Distribution-agnostic** - OpenBSD, Debian, Arch, FreeBSD Support
- **Distribution-agnostic** - OpenBSD, Debian, Arch Support
## Quick Start
## Installation
### 1. Installation
Furt bietet drei Installationswege:
### Package-basierte Installation
```bash
# Git-basierte Installation (empfohlen für Development)
git clone https://github.com/dragons-at-work/furt.git
# Versioniertes Package herunterladen
curl -OJ https://smida.dragons-at-work.de/api/packages/DAW/generic/furt-api-gateway/0.1.2/furt-api-gateway-v0.1.2.tar.gz
tar xzf furt-api-gateway-v0.1.2.tar.gz
cd furt-api-gateway-v0.1.2
# 6-Phasen-Installation mit Helper Scripts
sudo ./install.sh # Fresh Installation
sudo ./install.sh --upgrade # Update bestehender Installation
```
Das modulare Installationssystem führt automatisch durch:
1. System-Benutzer erstellen (`_furt` oder `furt`)
2. Verzeichnisstruktur anlegen (OS-spezifische Pfade)
3. Source-Code synchronisieren
4. System-Service einrichten (rc.d oder systemd)
5. Konfiguration validieren
6. Health-Check durchführen
**→ [Installation automatisiert](Installation-automatisiert.md)** - Komplette Anleitung für Helper Scripts
### Git-basierte Installation
```bash
# Repository clonen
git clone https://smida.dragons-at-work.de/DAW/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
# Gleiche Helper Scripts verfügbar
sudo ./install.sh
```
### 2. Basis-Konfiguration
Git-Installation ermöglicht einfache Updates via `git pull` und lokale Code-Anpassungen. Aktuell ist kein Code-Rückfluss möglich da smida.dragons-at-work.de keine öffentliche Registrierung unterstützt.
### Manuelle Installation
Schritt-für-Schritt-Installation um jeden Aspekt zu verstehen:
**→ [Installation manuell](Installation.md)** - Detaillierte manuelle Anleitung
**→ [Installation Scripts](Installation-Scripte.md)** - Verständnis der Helper Scripts
## Konfiguration
Nach der Installation muss die Konfigurationsdatei angepasst werden:
```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
# Betriebssystem-spezifische Config-Pfade
# OpenBSD: /usr/local/etc/furt/furt.conf
# Linux (Debian/Arch): /etc/furt/furt.conf
# Linux-Systeme: Alles nach /etc/ (einheitlicher Namespace)
sudo cp config/furt.conf.example /etc/furt/furt.conf # Debian/Arch
# OpenBSD
doas $EDITOR /usr/local/etc/furt/furt.conf
# 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
# Linux
sudo $EDITOR /etc/furt/furt.conf
```
### 3. Service starten
Mindestens SMTP-Zugangsdaten und API-Keys müssen konfiguriert werden für funktionsfähigen Betrieb.
**→ [Konfiguration](Konfiguration.md)** - Vollständige Konfigurations-Dokumentation
## Service-Management
Nach erfolgreicher Installation und Konfiguration:
```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)
# OpenBSD
doas rcctl start furt
doas rcctl check furt
# Linux-Systeme: systemd als Standard
# systemd = umfangreich aber einheitlich über Distributionen
sudo systemctl enable furt && sudo systemctl start furt
# Linux
sudo systemctl start furt
sudo systemctl status furt
# Service-Test
curl http://localhost:7811/health
```
### 4. Testen
Bei Problemen bieten die Individual-Scripts jeweils eigene Troubleshooting-Sektionen.
## Development
Für lokale Code-Anpassungen nach Git-Installation:
```bash
curl http://localhost:8080/health
# Code bearbeiten
vim src/main.lua
# Änderungen testen
sudo ./scripts/sync-files.sh
sudo systemctl restart furt
# Updates vom Repository
git pull
sudo ./install.sh --upgrade
```
## Navigation
**→ [Development Setup](Development.md)** - In Planung
### Installation & Setup
- **[Installation](Installation.md)** - Vollständige Installationsanleitung
- **[Konfiguration](Configuration.md)** - Config-System Dokumentation
- **[Troubleshooting](Troubleshooting.md)** - Häufige Probleme
**→ [API Documentation](API-Documentation.md)** - In Planung
### Development
- **[Development Setup](Development.md)** - Lokale Entwicklungsumgebung
- **[API Documentation](API-Documentation.md)** - Endpunkte und Verwendung
- **[Contributing](Contributing.md)** - Beitrag zum Projekt
## Current Status
### Current Status
**v1.0.0 Features:**
- ✅ Mail-Service (`POST /v1/mail/send`)
**v0.1.2 Features:**
- ✅ Mail-Service (`POST /v1/mail/send`) - formular2mail integriert
- ✅ Health-Check (`GET /health`)
- ✅ API-Key Authentication
- ✅ Multi-Tenant Configuration
- ✅ Rate Limiting
- ✅ CORS Support
- ✅ Modulares Installationssystem
**Roadmap:**
- 🔄 Comment-Service (sagjan integration)
- 📋 Project-Management-Service (lengan)
- 💳 Payment-Service (wixlaz)
**In Planung:**
- Roadmap wird nach DAW-Website-Launch definiert
## Architecture
Furt folgt dem **Service-Separation-Prinzip**:
- **furt** = Service-Discovery-Coordinator
- **sagjan** = Comments (separate namespace)
- **formular2mail** = Mail-Routing (separate namespace)
Furt ist aktuell ein integrierter HTTP-Server mit eingebautem Mail-Service (formular2mail). Die Service-Separation in eigenständige Module ist für zukünftige Versionen geplant.
Jeder Service behält seine eigene Konfiguration, furt koordiniert nur die Discovery und das Routing.
**Aktuelle v0.1.2 Architektur:**
- **furt** enthält Mail-Routing als integrierten Service
- **Multi-Tenant-Konfiguration** über API-Keys
- **Plugin-ready** für zukünftige Service-Module
**Technische Basis:**
- **Lua 5.1** als Implementierungssprache
@ -104,8 +147,24 @@ Jeder Service behält seine eigene Konfiguration, furt koordiniert nur die Disco
- **Multi-OS Support** über distribution-spezifische Package-Layouts
- **Socket-basierter HTTP-Server** ohne externe Dependencies
## Navigation
### Installation & Setup
- **[Installation automatisiert](Installation-automatisiert.md)** - Helper Scripts für wiederkehrende Installationen
- **[Installation manuell](Installation.md)** - Vollständige manuelle Installationsanleitung
- **[Installation Scripts](Installation-Scripte.md)** - Helper Scripts verstehen und nutzen
- **[Konfiguration](Konfiguration.md)** - Config-System für Multi-Tenant-Setup
### Development & API
- **Development Setup** - In Planung
- **API Documentation** - In Planung
- **Contributing** - In Planung (aktuell kein Code-Rückfluss möglich)
### Support
- **Helper Script Troubleshooting** - Jedes Installation-Script enthält eigene Fehlerbehebung
---
**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
**Projekt:** [Dragons@Work Digital Sovereignty](https://dragons-at-work.de)
**Repository:** [Forgejo](https://smida.dragons-at-work.de/DAW/furt)
**License:** ISC