Déploiement
wol-web
Exemple de commande
Option 1
Option 2
Image Docker
Plateforme prise en charge
exécution du docker
Fichier Docker
Construire avec Makefile (recommandé)
Installation et construction manuelles
Construire avec Docker Compose (plus facile)
image Golang :
Image nodejs :
L'extrémité avant
Base de données
Back-end
Documentation API
Exécuter le backend avec Docker Compose
Cas d'utilisation
Interface utilisateur
Développer
Environnement Docker
Construire une interface
Back-end
Déploiement
Variables d'environnement
Une application Web hébergée localement pour wakeonlan , allume les ordinateurs en réseau privé.
Utilisez VPN pour accéder à votre réseau et réveiller vos ordinateurs d'un simple clic dans votre navigateur.
Frontend : Vue.js + TypeScript
Backend : golang + fibre
npm i -g @vue/clicd interface installation npm npm exécuter servir
La base de données est passée de postgresql à sqlite. Il n'est donc pas nécessaire de mettre en place une base de données, le serveur gérera SQLite.
back-end de cd mkdir -p données go get -u github.com/cosmtrek/air# ajouter go/bin à pathexport PATH=$HOME/go/bin:$PATH # sous Linux, similaire sur macair # démarrer le rechargement en direct
docker compose -f docker-compose-helpers.yml exécute dev-backend
ou make dev-backend
Voir backend et variables d'environnement pour plus d'options de configuration.
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
L'application peut être hébergée avec Docker, ce qui nécessite que docker
et docker compose
soient installés sur la machine.
Si vous souhaitez l'exécuter sans Docker (avec Golang natif), consultez les sections suivantes : Déployer sans Docker
Modifiez les balises d'image dans docker compose.yml
et docker docker-compose-helpers.yml
en fonction de la machine que vous utilisez.
golang:1.17.6-alpine3.15
nœud : 16
Pour déployer l'application, vous n'avez pas besoin de créer une interface, téléchargez simplement la version depuis github.
Ou en utilisant cette commande make download-frontend
.
Si vous devez le construire, lisez les instructions suivantes.
Le frontend est écrit en vuejs et doit être construit manuellement pour générer un dossier dist
contenant l' index.html
et d'autres ressources.
make build-frontend # exactement la même chose que la méthode docker compose, juste un wrapper simplifié
Si vous avez nodejs 15+, npm sur votre machine, vous pouvez accéder au frontend
interface cd installation npm npm exécuter build:pwa
Si les dépendances ne sont pas installées, vous pouvez utiliser docker compose pour créer la version de production frontend.
docker compose -f docker-compose-helpers.yml exécuter build-frontend
Pour plus d'informations et de configuration liées au backend, consultez le fichier README du backend
Vous pouvez configurer
port du serveur
nombre d'utilisateurs autorisés à s'inscrire
Secret JWT et heure de connexion (JWT_VALID_TIME)
Exécutez make build-backend
pour créer le binaire backend.
Si Golang est installé, vous pouvez également exécuter go build . -o server
dans le dossier backend
.
huakunshen/wol:latest
linux/arm64/v8
Linux/arm/v6
inux/arm/v7
Linux/AMD64
L'image Docker contient tout ce dont vous avez besoin pour exécuter l'application, y compris un cli wakeonlan appelé wol
. Vous pouvez exécuter un conteneur avec network=host pour utiliser l'outil wol
cli.
Docker volume créer wol docker run -d --network=host --restart=unless-stopped --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
ou exécutez simplement make deploy
(alias de la commande docker run
ci-dessus).
exécutez make deploy-test
pour exécuter sans mode détacher.
Vous pouvez ajouter des variables d'environnement personnalisées en suivant les instructions.
Il existe 2 versions de Dockerfile utilisées pour créer une image Docker.
Fichier Docker
exécutez make build-frontend
ou make download-frontend
pour générer une version de production
intégrer à la fois l'interface vue et le serveur golang dans l'image
le Dockerfile
suppose que le frontend est déjà compilé (dans frontend/dist
)
puis docker build -t huakunshen/wol:latest .
pour construire l'image
make buildx
générera une image multiplateforme
Les variables d'environnement peuvent être ajoutées/écrasées par :
ajout d' environment:
pour docker compose
le service ou
ajout -e env_name=env_value
à docker run
Les variables suivantes sont les variables d'environnement par défaut.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
La variable d'environnement NUM_USER_ALLOWED
peut être utilisée pour spécifier le nombre d'utilisateurs autorisés à s'inscrire. La valeur par défaut est 1 si vous êtes le seul utilisateur.
Pendant le développement, les variables d'environnement de la base de données et du serveur peuvent être modifiées dans backend/.env
vérifiez également le backend.
modifier backend/.env
cd dans ce répertoire (wol-web)
Docker exécuter -d --network=hôte --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-file backend/.env huakunshen/wol:dernier
Docker exécuter -d --network=hôte --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:dernier