Flame ist eine selbst gehostete Startseite für Ihren Server. Sein Design ist (stark) von SUI inspiriert. Flame ist sehr einfach einzurichten und zu verwenden. Mit integrierten Editoren können Sie im Handumdrehen Ihren eigenen Anwendungs-Hub einrichten – keine Dateibearbeitung erforderlich.
Docker Hub-Link
docker pull pawelmalak/flame
# for ARM architecture (e.g. RaspberryPi)
docker pull pawelmalak/flame:multiarch
# installing specific version
docker pull pawelmalak/flame:2.0.0
# run container
docker run -p 5005:5005 -v /path/to/data:/app/data -e PASSWORD=flame_password pawelmalak/flame
# build image for amd64 only
docker build -t flame -f .docker/Dockerfile .
# build multiarch image for amd64, armv7 and arm64
# building failed multiple times with 2GB memory usage limit so you might want to increase it
docker buildx build
--platform linux/arm/v7,linux/arm64,linux/amd64
-f .docker/Dockerfile.multiarch
-t flame:multiarch .
version : ' 3.6 '
services :
flame :
image : pawelmalak/flame
container_name : flame
volumes :
- /path/to/host/data:/app/data
- /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
ports :
- 5005:5005
secrets :
- password # optional but required for (1)
environment :
- PASSWORD=flame_password
- PASSWORD_FILE=/run/secrets/password # optional but required for (1)
restart : unless-stopped
# optional but required for Docker secrets (1)
secrets :
password :
file : /path/to/secrets/password
Alle Umgebungsvariablen können überschrieben werden, indem _FILE
an den Variablenwert angehängt wird. Sie können beispielsweise PASSWORD_FILE
verwenden, um ein Docker-Geheimnis anstelle von PASSWORD
weiterzugeben. Wenn sowohl PASSWORD
als auch PASSWORD_FILE
festgelegt sind, hat das Docker-Geheimnis Vorrang.
# ./secrets/flame_password
my_custom_secret_password_123
# ./docker-compose.yml
secrets:
password:
file: ./secrets/flame_password
# use skaffold
skaffold dev
Folgen Sie den Anweisungen im Wiki: Installation ohne Docker
# clone repository
git clone https://github.com/pawelmalak/flame
cd flame
# run only once
npm run dev-init
# start backend and frontend development servers
npm run dev
Besuchen Sie das Projekt-Wiki, um mehr über die Authentifizierung zu erfahren
Die Standardsucheinstellung besteht darin, alle Ihre Apps und Lesezeichen zu durchsuchen. Wenn Sie mit einer bestimmten Suchmaschine suchen möchten, müssen Sie Ihre Suchanfrage mit dem ausgewählten Präfix eingeben. Um beispielsweise mit der Google-Suche nach „Was ist Docker“ zu suchen, geben Sie Folgendes ein: /g what is docker
?
Eine Liste der unterstützten Suchmaschinen, Verknüpfungen und weitere Informationen zur Suchfunktion finden Sie im Projekt-Wiki.
Der kostenlose Plan ermöglicht 1 Million Anrufe pro Monat. Flame führt weniger als 3.000 API-Aufrufe pro Monat durch.
Um die Docker-Integration nutzen zu können, muss jeder Container über die folgenden Labels verfügen:
labels :
- flame.type=application # "app" works too
- flame.name=My container
- flame.url=https://example.com
- flame.icon=icon-name # optional, default is "docker"
# - flame.icon=custom to make changes in app. ie: custom icon upload
Damit dies funktioniert, muss die Option „Docker-API verwenden“ aktiviert sein. Sie finden es unter Einstellungen > Docker
Sie können auch verschiedene Apps im selben Label einrichten und hinzufügen ;
zwischen jedem.
labels :
- flame.type=application
- flame.name=First App;Second App
- flame.url=https://example1.com;https://example2.com
- flame.icon=icon-name1;icon-name2
Wenn Sie einen Remote-Docker-Host verwenden möchten, befolgen Sie diese Anweisungen im Host:
/lib/systemd/system/docker.service
, suchen Sie nach ExecStart
und bearbeiten Sie den Wert ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:${PORT} -H unix:///var/run/docker.sock
Der obige Befehl bindet den Docker-Engine-Server an den Unix-Socket sowie den TCP-Port Ihrer Wahl. „0.0.0.0“ bedeutet, dass die Docker-Engine Verbindungen von allen IP-Adressen akzeptiert.
sudo systemctl daemon-reload
sudo service docker restart
curl http:// ${IP} : ${PORT} /version
Um die Kubernetes-Integration nutzen zu können, muss jeder Ingress über die folgenden Anmerkungen verfügen:
metadata :
annotations :
- flame.pawelmalak/type=application # "app" works too
- flame.pawelmalak/name=My container
- flame.pawelmalak/url=https://example.com
- flame.pawelmalak/icon=icon-name # optional, default is "kubernetes"
Damit dies funktioniert, muss die Option „Kubernetes Ingress API verwenden“ aktiviert sein. Sie finden es unter Einstellungen > Docker
db.sqlite
bevor Sie das Skript ausführen!pip3 install Pillow, beautifulsoup4
cd flame/.dev
python3 bookmarks_importer.py --bookmarks < path to bookmarks.html > --data < path to flame data folder >
Weitere Informationen zu benutzerdefiniertem CSS und benutzerdefiniertem Design mit CSS finden Sie im Projekt-Wiki.