Installation
Fenfa unterstützt zwei Installationsmethoden: Docker (empfohlen) und Bauen aus dem Quellcode.
Empfohlen
Docker ist der schnellste Einstieg. Ein einziger Befehl liefert eine vollständig funktionierende Fenfa-Instanz ohne Build-Tools.
Voraussetzungen
| Anforderung | Minimum | Hinweise |
|---|---|---|
| Docker | 20.10+ | Oder Podman 3.0+ |
| Go (nur Quellcode-Build) | 1.25+ | Für Docker nicht benötigt |
| Node.js (nur Quellcode-Build) | 20+ | Zum Bauen des Frontends |
| Speicherplatz | 100 MB | Zuzüglich Speicher für hochgeladene Builds |
Methode 1: Docker (Empfohlen)
Das offizielle Image pullen und ausführen:
docker run -d \
--name fenfa \
-p 8000:8000 \
fenfa/fenfa:latesthttp://localhost:8000/admin besuchen und mit dem Standard-Token dev-admin-token anmelden.
Sicherheit
Die Standard-Token sind nur für die Entwicklung. Sichere Token konfigurieren, bevor Fenfa dem Internet ausgesetzt wird. Siehe Produktions-Deployment.
Mit persistentem Speicher
Volumes für die Datenbank und hochgeladene Dateien einbinden:
docker run -d \
--name fenfa \
--restart=unless-stopped \
-p 8000:8000 \
-v ./data:/data \
-v ./uploads:/app/uploads \
fenfa/fenfa:latestMit benutzerdefinierter Konfiguration
Eine config.json-Datei für vollständige Kontrolle über alle Einstellungen einbinden:
docker run -d \
--name fenfa \
--restart=unless-stopped \
-p 8000:8000 \
-v ./data:/data \
-v ./uploads:/app/uploads \
-v ./config.json:/app/config.json:ro \
fenfa/fenfa:latestAlle verfügbaren Optionen finden sich in der Konfigurationsreferenz.
Umgebungsvariablen
Konfigurationswerte ohne Konfigurationsdatei überschreiben:
docker run -d \
--name fenfa \
-p 8000:8000 \
-e FENFA_ADMIN_TOKEN=your-secret-admin-token \
-e FENFA_UPLOAD_TOKEN=your-secret-upload-token \
-e FENFA_PRIMARY_DOMAIN=https://dist.example.com \
-v ./data:/data \
-v ./uploads:/app/uploads \
fenfa/fenfa:latest| Variable | Beschreibung | Standard |
|---|---|---|
FENFA_PORT | HTTP-Port | 8000 |
FENFA_DATA_DIR | Datenbankverzeichnis | data |
FENFA_PRIMARY_DOMAIN | Öffentliche Domain-URL | http://localhost:8000 |
FENFA_ADMIN_TOKEN | Admin-Token | dev-admin-token |
FENFA_UPLOAD_TOKEN | Upload-Token | dev-upload-token |
Methode 2: Docker Compose
Eine docker-compose.yml erstellen:
version: "3.8"
services:
fenfa:
image: fenfa/fenfa:latest
container_name: fenfa
restart: unless-stopped
ports:
- "8000:8000"
environment:
FENFA_ADMIN_TOKEN: your-secret-admin-token
FENFA_UPLOAD_TOKEN: your-secret-upload-token
FENFA_PRIMARY_DOMAIN: https://dist.example.com
volumes:
- ./data:/data
- ./uploads:/app/uploadsDienst starten:
docker compose up -dMethode 3: Aus dem Quellcode bauen
Repository klonen:
git clone https://github.com/openprx/fenfa.git
cd fenfaMit Make
Das Makefile automatisiert den vollständigen Build:
make build # baut Frontend + Backend
make run # startet den ServerManueller Build
Zuerst die Frontend-Anwendungen bauen, dann das Go-Backend:
# Öffentliche Download-Seite bauen
cd web/front && npm ci && npm run build && cd ../..
# Admin-Panel bauen
cd web/admin && npm ci && npm run build && cd ../..
# Go-Binary bauen
go build -o fenfa ./cmd/serverDas Frontend wird in internal/web/dist/ kompiliert und über go:embed in das Go-Binary eingebettet. Das resultierende fenfa-Binary ist vollständig eigenständig.
Binary ausführen
./fenfaFenfa startet standardmäßig auf Port 8000. Die SQLite-Datenbank wird automatisch im data/-Verzeichnis erstellt.
Installation verifizieren
Browser auf http://localhost:8000/admin öffnen und mit dem Admin-Token anmelden. Das Admin-Dashboard sollte angezeigt werden.
Den Health-Endpunkt prüfen:
curl http://localhost:8000/healthzErwartete Antwort:
{"ok": true}Nächste Schritte
- Schnellstart -- Ersten Build in 5 Minuten hochladen
- Konfigurationsreferenz -- Alle Konfigurationsoptionen
- Docker-Deployment -- Docker Compose und Multi-Architektur-Builds