Documentation Index
Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
Use this file to discover all available pages before exploring further.
Option A: Docker (Empfohlen)
Keine lokale Python- oder Node.js-Installation erforderlich — alles wird im Container erstellt.fim-data, fim-uploads) gespeichert und bleiben nach Container-Neustarts erhalten.
Hinweis: Der Docker-Modus unterstützt kein Hot Reload. Code-Änderungen erfordern ein Neuerstellen des Images (docker compose up --build -d). Für aktive Entwicklung mit Live Reload verwenden Sie Option B unten.
Option B: Lokale Entwicklung
Voraussetzungen: Python 3.11+, uv, Node.js 18+, pnpm.| Befehl | Was wird gestartet | URL |
|---|---|---|
./start.sh | Next.js + FastAPI | http://localhost:3000 (UI) + :8000 (API) |
./start.sh dev | Dasselbe, mit Hot Reload (Python --reload + Next.js HMR) | Dasselbe |
./start.sh dev:api | Nur API, Dev-Modus (--reload) | http://localhost:8000/api |
./start.sh dev:ui | Nur Next.js, Dev-Modus (HMR) | http://localhost:3000 |
./start.sh api | Nur FastAPI (headless, für Integration oder Tests) | http://localhost:8000/api |
Konfiguration
FIM One funktioniert mit jedem OpenAI-kompatiblen LLM-Anbieter — OpenAI, DeepSeek, Anthropic, Qwen, Ollama, vLLM und mehr.| Anbieter | LLM_API_KEY | LLM_BASE_URL | LLM_MODEL |
|---|---|---|---|
| OpenAI | sk-... | (Standard) | gpt-4o |
| DeepSeek | sk-... | https://api.deepseek.com/v1 | deepseek-chat |
| Anthropic | sk-ant-... | https://api.anthropic.com/v1 | claude-sonnet-4-6 |
| Ollama (lokal) | ollama | http://localhost:11434/v1 | qwen2.5:14b |
.env:
Produktionsbereitstellung
Docker (Empfohlen)
docker compose up -d startet alles, was Sie benötigen — keine manuelle Servicekonfiguration erforderlich:
| Service | Zweck | Konfiguriert von |
|---|---|---|
| fim-one | API + Frontend | .env (Ihre LLM-Schlüssel, etc.) |
| Redis | Cross-Worker-Interrupt-Relay | Automatisch konfiguriert durch Compose |
Skalierung mit Workern
Standardmäßig wird die API mit einem einzelnen Worker-Prozess ausgeführt. Um mehr gleichzeitige Benutzer zu verarbeiten, erhöhen Sie die Worker über.env:
- PostgreSQL — SQLite ist ein Single-Writer und unterstützt keine gleichzeitigen Schreibvorgänge. Setzen Sie
DATABASE_URLauf eine PostgreSQL-Verbindungszeichenfolge. - Redis — bereits in Docker Compose enthalten (automatisch konfiguriert). Verwaltet das Cross-Worker-Interrupt/Inject-Relay.
WORKERS=1 (Standard) sind weder Redis noch PostgreSQL erforderlich — SQLite funktioniert einwandfrei.
Nginx Reverse Proxy
Für HTTPS und benutzerdefinierte Domäne setzen Sie einen Nginx-Reverse-Proxy davor:/api/*-Anfragen automatisch weiter. Nur Port 3000 muss freigegeben werden.
Code Execution Sandbox
Wenn Sie die Code-Ausführungs-Sandbox (CODE_EXEC_BACKEND=docker) verwenden, mounten Sie den Docker-Socket:
Cloudflare Tunnel
Verwenden Sie für ein Setup ohne offene Ports Cloudflare Tunnel anstelle von Nginx. Der gesamte Datenverkehr fließt über Cloudflares Edge — es ist nicht erforderlich, die Ports 80/443 freizugeben, SSL-Zertifikate zu verwalten oder Firewall-Regeln zu konfigurieren.Tunnel erstellen
Gehen Sie zu Cloudflare Zero Trust → Networks → Tunnels → Create a tunnel.
Wählen Sie Cloudflared als Connector-Typ.
Öffentlichen Hostnamen konfigurieren
Fügen Sie in der Tunnel-Konfiguration einen öffentlichen Hostnamen hinzu:
Lassen Sie alle anderen Einstellungen (HTTP Host Header, Chunked Encoding, Timeouts, Access) auf ihren Standardwerten.
| Feld | Wert |
|---|---|
| Type | HTTP |
| URL | fim-one:3000 |
Die URL verwendet den Docker-Servicenamen
fim-one, nicht localhost, da cloudflared als separater Container im selben Docker-Netzwerk ausgeführt wird.Tunnel-Token kopieren
Suchen Sie auf der Seite Configure des Tunnels den Installationsbefehl — er enthält einen Token, der mit
eyJ... beginnt. Kopieren Sie ihn.Mit dem Tunnel-Overlay bereitstellen
docker-compose.tunnel.yml-Overlay fügt einen cloudflared-Sidecar-Container hinzu. Die Basis-docker-compose.yml bleibt unverändert — Community-Benutzer ohne Cloudflare können weiterhin docker compose up -d wie zuvor verwenden.Alten DNS-Eintrag entfernen
Wenn Ihre Domain zuvor einen A-Eintrag hatte, der auf die IP-Adresse Ihres Servers verweist, löschen Sie ihn in Cloudflare DNS. Der Tunnel erstellt automatisch einen CNAME-Eintrag, der auf seinen Edge-Endpunkt verweist.
Script-Bereitstellung (Bare Metal)
Für Bare-Metal-Server oder benutzerdefinierte Prozessmanager verwenden Sie./start.sh direkt: