Despliegue
telaraña
Comando de muestra
Opción 1
Opción 2
Imagen acoplable
Plataforma compatible
ejecución de la ventana acoplable
archivo acoplable
Construir con Makefile (recomendado)
Instalación y construcción manuales
Construir con Docker Compose (más fácil)
imagen de golang:
imagen de nodejs:
Interfaz
Base de datos
backend
Documentación API
Ejecutar backend con Docker Compose
Casos de uso
interfaz de usuario
Para desarrollar
Entorno acoplable
Construir interfaz
backend
Despliegue
Variables de entorno
Una aplicación web alojada localmente para wakeonlan , enciende computadoras en una red privada.
Utilice VPN para acceder a su red y reactivar sus computadoras con un simple clic en su navegador.
Interfaz: Vue.js + TypeScript
Parte trasera: golang + fibra
npm i -g @vue/clicd interfaz instalación npm servicio de ejecución npm
La base de datos ha cambiado de postgresql a sqlite. Por lo tanto, no es necesario configurar una base de datos, el servidor manejará sqlite.
parte trasera del cd mkdir -p datos vaya a get -u github.com/cosmtrek/air# agregue go/bin a pathexport PATH=$HOME/go/bin:$PATH # en Linux, similar en macair # inicie la recarga en vivo
docker compose -f docker-compose-helpers.yml ejecuta dev-backend
o make dev-backend
Consulte Variables de entorno y backend para obtener más opciones de configuración.
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
La aplicación se puede alojar con Docker, lo que requiere que la máquina tenga instalados docker
y docker compose
.
Si desea ejecutarlo sin Docker (con Golang nativo), consulte las secciones posteriores: Implementar sin Docker
Modifique las etiquetas de imagen dentro de docker compose.yml
y docker docker-compose-helpers.yml
dependiendo de la máquina que esté ejecutando.
golang: 1.17.6-alpino3.15
nodo: 16
Para implementar la aplicación, no necesita crear una interfaz, simplemente descargue la versión desde github.
O usando este comando make download-frontend
.
Si necesita construirlo, lea las siguientes instrucciones.
La interfaz está escrita en vuejs y debe crearse manualmente para generar una carpeta dist
que contiene index.html
y otros recursos.
hacer build-frontend # exactamente igual que el método de composición de Docker, solo un contenedor simplificado
Si tiene nodejs 15+, npm en su máquina, puede acceder al frontend
interfaz de CD instalación npm npm ejecutar compilación:pwa
Si no tiene las dependencias instaladas, puede usar Docker Compose para crear la versión de producción del frontend.
docker compose -f docker-compose-helpers.yml ejecuta build-frontend
Para obtener más información y configuración relacionada con el backend, consulte el archivo README del backend.
Puedes configurar
puerto del servidor
número de usuarios autorizados a registrarse
Secreto de JWT y hora de inicio de sesión (JWT_VALID_TIME)
Ejecute make build-backend
para compilar el binario del backend.
Si tiene golang instalado, también puede ejecutar go build . -o server
dentro de la carpeta backend
.
huakunshen/wol:latest
Linux/arm64/v8
Linux/brazo/v6
inux/brazo/v7
Linux/AMD64
La imagen de la ventana acoplable contiene todo lo que necesita para ejecutar la aplicación, incluido un cli de wakeonlan llamado wol
. Puede ejecutar un contenedor con network=host para usar la herramienta wol
cli.
volumen de Docker crear wol docker run -d --network=host --restart=a menos que se detenga --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
o simplemente ejecute make deploy
(alias del comando docker run
anterior).
ejecute make deploy-test
para ejecutar sin modo de desconexión.
Puede agregar variables de entorno personalizadas siguiendo las instrucciones.
Hay 2 versiones de Dockerfile que se utilizan para crear una imagen de Docker.
archivo acoplable
ejecute make build-frontend
o make download-frontend
para generar una compilación de producción
cree tanto el frontend vue como el servidor golang en la imagen
Dockerfile
supone que la interfaz ya está compilada (en frontend/dist
)
luego docker build -t huakunshen/wol:latest .
para construir la imagen
make buildx
generará una imagen multiplataforma
Las variables de entorno se pueden agregar/sobrescribir mediante:
Agregar environment:
al servicio docker compose
o
agregando -e env_name=env_value
a docker run
Las siguientes variables son las variables de entorno predeterminadas.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
La variable de entorno NUM_USER_ALLOWED
se puede utilizar para especificar el número de usuarios autorizados a registrarse. El valor predeterminado es 1 si usted es el único usuario.
Durante el desarrollo, las variables de entorno de la base de datos y del servidor se pueden modificar en backend/.env
verifique el backend también.
editar backend/.env
cd en este directorio (wol-web)
ejecución de la ventana acoplable -d --network=host --nombre wol-web -v ${PWD}/wol-web-datos:/wol-servidor/datos --env-archivo backend/.env huakunshen/wol:último
ejecución de la ventana acoplable -d --network=host --nombre wol-web -v ${PWD}/wol-web-datos:/wol-servidor/datos -e PUERTO=9090 -e JWT_SECRET=wol-secreto -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 huakunshen/wol:último