Implantação
wol-web
Exemplo de comando
Opção 1
Opção 2
Imagem Docker
Plataforma Suportada
execução do docker
Dockerfile
Construir com Makefile (recomendado)
Instalação e construção manual
Construir com docker compose (mais fácil)
imagem golang:
imagem nodejs:
Front-end
Banco de dados
Back-end
Documentação da API
Execute o back-end com docker compose
Casos de uso
IU
Para desenvolver
Ambiente Docker
Construir front-end
Back-end
Implantação
Variáveis de ambiente
Um aplicativo da web hospedado localmente para wakeonlan liga computadores em uma rede privada.
Use VPN para entrar na sua rede e ativar seus computadores com um simples clique no seu navegador.
Front-end: Vue.js + TypeScript
Back-end: golang + fibra
interface npm i -g @vue/clicd instalação npm npm executar servir
O banco de dados mudou de postgresql para sqlite. Portanto não há necessidade de configurar um banco de dados, o servidor irá lidar com o sqlite.
back-end do CD mkdir -p dados vá get -u github.com/cosmtrek/air# adicione go/bin ao pathexport PATH=$HOME/go/bin:$PATH # no linux, semelhante no macair # inicie o recarregamento ao vivo
docker compose -f docker-compose-helpers.yml execute dev-backend
ou make dev-backend
Consulte back-end e variáveis de ambiente para obter mais opções de configuração.
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
O aplicativo pode ser hospedado com docker, o que requer que a máquina tenha docker
e docker compose
instalados.
Se você quiser executá-lo sem docker (com golang nativo), consulte as seções posteriores: Implantar sem Docker
Modifique as tags de imagem em docker compose.yml
e docker docker-compose-helpers.yml
dependendo de qual máquina você está executando.
golang:1.17.6-alpino3.15
nó: 16
Para implantar o aplicativo, você não precisa construir o frontend, basta baixar a versão do github.
Ou usando este comando make download-frontend
.
Se você precisar construí-lo, leia as instruções a seguir.
O frontend é escrito em vuejs e precisa ser construído manualmente para gerar uma pasta dist
que contém index.html
e outros recursos.
make build-frontend # exatamente igual ao método docker compose, apenas um wrapper simplificado
Se você tiver nodejs 15+, npm em sua máquina, você pode fazer cd no frontend
interface de CD instalação npm npm execute compilação:pwa
Se você não tiver as dependências instaladas, poderá usar o docker compose para criar a versão de produção do front-end.
docker compose -f docker-compose-helpers.yml execute build-frontend
Para obter mais informações e configurações relacionadas ao backend, verifique o README do backend
Você pode configurar
porta do servidor
número de usuários autorizados a se inscrever
Segredo JWT e hora de login (JWT_VALID_TIME)
Execute make build-backend
para construir o binário de backend.
Se você tiver o golang instalado, também poderá executar go build . -o server
na pasta backend
.
huakunshen/wol:latest
linux/arm64/v8
linux/arm/v6
inux/arm/v7
linux/amd64
A imagem do docker contém tudo que você precisa para executar o aplicativo, incluindo um cli wakeonlan chamado wol
. Você pode executar um contêiner com network=host para usar a ferramenta wol
cli.
volume do docker criar wol docker run -d --network=host --restart=a menos que seja interrompido --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
ou apenas execute make deploy
(alias do comando docker run
acima).
execute make deploy-test
para executar sem modo de desanexação.
Você pode adicionar variáveis de ambiente personalizadas seguindo as instruções.
Existem 2 versões do Dockerfile usadas para construir a imagem do Docker.
Dockerfile
execute make build-frontend
ou make download-frontend
para gerar uma compilação de produção
crie o frontend vue e o servidor golang na imagem
o Dockerfile
assume que o frontend já está compilado (em frontend/dist
)
então docker build -t huakunshen/wol:latest .
para construir a imagem
make buildx
irá gerar imagem multiplataforma
Variáveis de ambiente podem ser adicionadas/substituídas por:
adicionando environment:
ao docker compose
service ou
adicionando -e env_name=env_value
à docker run
As variáveis a seguir são as variáveis de ambiente padrão.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
A variável env NUM_USER_ALLOWED
pode ser usada para especificar o número de usuários com permissão para se inscrever. O padrão é 1 se você for o único usuário.
Durante o desenvolvimento, as variáveis de ambiente do banco de dados e do servidor podem ser modificadas em backend/.env
verifique o back-end também.
editar backend/.env
cd neste diretório (wol-web)
janela de encaixe execute -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-file backend/.env huakunshen/wol:mais recente
janela de encaixe execute -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e PORTA=9090 -e JWT_SECRET = wol-secret -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 huakunshen/wol:mais recente