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.Konfiguration
FIM One funktioniert mit jedem OpenAI-kompatiblen LLM-Anbieter — OpenAI, DeepSeek, Anthropic, Qwen, Ollama, vLLM und mehr.
Jina AI ermöglicht Websuche/Abruf, Einbettung und die vollständige RAG-Pipeline (kostenlose Stufe verfügbar).
Minimale
.env:
Produktionsbereitstellung
Docker (Empfohlen)
docker compose up -d startet alles, was Sie benötigen — keine manuelle Servicekonfiguration erforderlich:
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.1
Tunnel erstellen
Gehen Sie zu Cloudflare Zero Trust → Networks → Tunnels → Create a tunnel.
Wählen Sie Cloudflared als Connector-Typ.
2
Ö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.
Die URL verwendet den Docker-Servicenamen
fim-one, nicht localhost, da cloudflared als separater Container im selben Docker-Netzwerk ausgeführt wird.3
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.4
Token zu .env hinzufügen
5
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.6
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.
7
Server-Ports schließen
Entfernen Sie (oder kommentieren Sie aus) den Abschnitt
ports aus docker-compose.yml auf Ihrem Server. Der Datenverkehr fließt nun ausschließlich durch den Tunnel — keine eingehenden Ports erforderlich.Script-Bereitstellung (Bare Metal)
Für Bare-Metal-Server oder benutzerdefinierte Prozessmanager verwenden Sie./start.sh direkt: