Einsatz
wol-web
Beispielbefehl
Option 1
Option 2
Docker-Image
Unterstützte Plattform
Docker-Lauf
Docker-Datei
Mit Makefile erstellen (empfohlen)
Manuelle Installation und Erstellung
Erstellen mit Docker Compose (einfacher)
Golang-Bild:
nodejs-Bild:
Frontend
Datenbank
Backend
API-Dokumentation
Backend mit Docker Compose ausführen
Anwendungsfälle
Benutzeroberfläche
Entwickeln
Docker-Umgebung
Frontend erstellen
Backend
Einsatz
Umgebungsvariablen
Eine lokal gehostete Web-App für Wakeonlan , die Computer in einem privaten Netzwerk einschaltet.
Nutzen Sie VPN, um auf Ihr Netzwerk zuzugreifen und Ihre Computer mit einem einfachen Klick in Ihrem Browser aufzuwecken.
Frontend: Vue.js + TypeScript
Backend: Golang + Fiber
npm i -g @vue/clicd Frontend npm installieren npm run dienen
Die Datenbank wurde von PostgreSQL auf SQLite umgestellt. Es ist also nicht erforderlich, eine Datenbank einzurichten, der Server übernimmt die Verarbeitung von SQLite.
CD-Backend mkdir -p Daten go get -u github.com/cosmtrek/air# go/bin zu pathexport hinzufügen PATH=$HOME/go/bin:$PATH # unter Linux, ähnlich auf Macair # Live-Neuladen starten
docker compose -f docker-compose-helpers.yml dev-backend ausführen
oder make dev-backend
Weitere Konfigurationsoptionen finden Sie unter Backend- und Umgebungsvariablen.
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
Die App kann mit Docker gehostet werden, was erfordert, dass auf dem Computer docker
und docker compose
installiert sind.
Wenn Sie es ohne Docker (mit nativem Golang) ausführen möchten, lesen Sie die späteren Abschnitte: Bereitstellung ohne Docker
Ändern Sie die Bild-Tags in docker compose.yml
und docker docker-compose-helpers.yml
abhängig davon, welchen Computer Sie ausführen.
golang:1.17.6-alpine3.15
Knoten:16
Um die App bereitzustellen, müssen Sie kein Frontend erstellen. Laden Sie einfach die Version von Github herunter.
Oder verwenden Sie diesen Befehl make download-frontend
.
Wenn Sie es bauen müssen, lesen Sie die folgenden Anweisungen.
Das Frontend ist in vuejs geschrieben und muss manuell erstellt werden, um einen dist
-Ordner zu generieren, der die index.html
und andere Ressourcen enthält.
Machen Sie build-frontend # genauso wie die Docker-Compose-Methode, nur einen vereinfachten Wrapper
Wenn Sie nodejs 15+, npm auf Ihrem Computer haben, können Sie ins Frontend wechseln
CD-Frontend npm installieren npm run build:pwa
Wenn Sie die Abhängigkeiten nicht installiert haben, können Sie Docker Compose verwenden, um den Frontend-Produktions-Build zu erstellen.
docker compose -f docker-compose-helpers.yml build-frontend ausführen
Weitere Informationen und Konfigurationen zum Backend finden Sie in der Backend-README-Datei
Sie können konfigurieren
Port des Servers
Anzahl der Benutzer, die sich anmelden dürfen
JWT-Geheimnis und Anmeldezeit (JWT_VALID_TIME)
Führen Sie make build-backend
um die Backend-Binärdatei zu erstellen.
Wenn Sie golang installiert haben, können Sie auch go build . -o server
im backend
Ordner.
huakunshen/wol:latest
Linux/arm64/v8
linux/arm/v6
inux/arm/v7
Linux/amd64
Das Docker-Image enthält alles, was Sie zum Ausführen der App benötigen, einschließlich einer Wakeonlan-CLI namens wol
. Sie können einen Container mit network=host ausführen, um das wol
CLI-Tool zu verwenden.
Docker-Volume erstellen wol docker run -d --network=host --restart=unless-stopped --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
oder führen Sie einfach make deploy
(Alias des docker run
Befehls oben).
Führen Sie make deploy-test
aus, um es ohne Trennmodus auszuführen.
Sie können benutzerdefinierte Umgebungsvariablen hinzufügen, indem Sie der Anleitung folgen.
Es gibt zwei Versionen von Dockerfile, die zum Erstellen des Docker-Images verwendet werden.
Docker-Datei
Führen Sie make build-frontend
oder make download-frontend
aus, um einen Produktions-Build zu generieren
Bauen Sie sowohl das Vue-Frontend als auch den Golang-Server in das Image ein
die Dockerfile
geht davon aus, dass das Frontend bereits kompiliert ist (in frontend/dist
)
dann docker build -t huakunshen/wol:latest .
um das Bild aufzubauen
make buildx
generiert ein plattformübergreifendes Image
Umgebungsvariablen können hinzugefügt/überschrieben werden durch:
environment:
zum docker compose
Service oder
Hinzufügen -e env_name=env_value
zur docker run
Die folgenden Variablen sind die Standardumgebungsvariablen.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
Die Umgebungsvariable NUM_USER_ALLOWED
kann verwendet werden, um die Anzahl der Benutzer anzugeben, die sich anmelden dürfen. Der Standardwert ist 1, wenn Sie der einzige Benutzer sind.
Während der Entwicklung können sowohl Datenbank- als auch Serverumgebungsvariablen im backend/.env
geändert werden
Überprüfen Sie auch das Backend.
backend/.env
bearbeiten
cd in dieses Verzeichnis (wol-web)
Docker run -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-file backend/.env huakunshen/wol:neueste
Docker run -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e PORT=9090 -e JWT_SECRET=wol-secret -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 huakunshen/wol:neueste