部署
沃尔网
命令示例
选项1
选项2
Docker 镜像
支持平台
码头运行
Dockerfile
使用 Makefile 构建(推荐)
手动安装和构建
使用 docker compose 构建(更简单)
golang图像:
节点图像:
前端
数据库
后端
API文档
使用 docker compose 运行后端
使用案例
用户界面
发展
Docker环境
构建前端
后端
部署
环境变量
本地托管的用于wakeonlan的网络应用程序,打开专用网络中的计算机。
使用 VPN 进入您的网络,只需在浏览器中单击即可唤醒您的计算机。
前端: Vue.js + TypeScript
后端: golang + Fiber
npm i -g @vue/clicd 前端 npm 安装 npm 运行服务
数据库已从 postgresql 切换到 sqlite。所以不需要设置数据库,服务器会处理sqlite。
光盘后端 mkdir -p 数据 go get -u github.com/cosmtrek/air# 将 go/bin 添加到路径导出 PATH=$HOME/go/bin:$PATH # 在 linux 上,在 macair 上类似 # 开始实时重新加载
docker compose -f docker-compose-helpers.yml 运行 dev-backend
或make dev-backend
有关更多配置选项,请参阅后端和环境变量。
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
该应用程序可以使用 docker 托管,这需要机器安装docker
和docker compose
。
如果你想在没有 docker 的情况下运行它(使用原生 golang),请参阅后面的部分:不使用 Docker 部署
修改docker compose.yml
和docker docker-compose-helpers.yml
中的镜像标签取决于您运行的机器。
golang:1.17.6-alpine3.15
节点:16
要部署应用程序,您不需要构建前端,只需从 github 下载版本即可。
或者使用此命令make download-frontend
。
如果您需要构建它,请阅读以下说明。
前端是用vuejs编写的,需要手动构建生成一个dist
文件夹,其中包含index.html
和其他资源。
make build-frontend # 与 docker compose 方法完全相同,只是一个简化的包装器
如果你的机器上有 Nodejs 15+、npm,你可以 cd 进入frontend
CD前端 npm 安装 npm 运行构建:pwa
如果您没有安装依赖项,则可以使用docker compose来构建前端生产版本。
docker compose -f docker-compose-helpers.yml 运行 build-frontend
有关后端的更多信息和配置,请查看后端 README
您可以配置
服务器端口
允许注册的用户数量
JWT 秘密和登录时间 (JWT_VALID_TIME)
运行make build-backend
来构建后端二进制文件。
如果安装了 golang,还可以运行go build . -o server
backend
文件夹中的服务器。
huakunshen/wol:latest
linux/arm64/v8
linux/arm/v6
inux/arm/v7
linux/amd64
docker 镜像包含运行应用程序所需的所有内容,包括名为wol
wakeonlan cli。您可以使用 network=host 运行容器来使用wol
cli 工具。
docker 卷创建 wol docker run -d --network=host --restart=unless-stopped --name wol-web -v wol:/wol-server/data haakunshen/wol:latest
或者只运行make deploy
(上面的docker run
命令的别名)。
运行make deploy-test
以在没有分离模式的情况下运行。
您可以按照说明添加自定义环境变量。
有 2 个版本的 Dockerfile 用于构建 docker 镜像。
Dockerfile
运行make build-frontend
或make download-frontend
以生成生产版本
将 vue 前端和 golang 服务器构建到镜像中
Dockerfile
假设前端已经编译(在frontend/dist
中)
然后docker build -t huakunshen/wol:latest .
建立形象
make buildx
将生成多平台镜像
可以通过以下方式添加/覆盖环境变量:
添加environment:
到docker compose
service 或
将-e env_name=env_value
添加到docker run
以下变量是默认环境变量。
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
NUM_USER_ALLOWED
环境变量可用于指定允许注册的用户数量。如果您是唯一用户,则默认值为 1。
开发过程中,数据库和服务器环境变量都可以在backend/.env
中修改
也检查后端。
编辑backend/.env
cd 进入此目录(wol-web)
docker运行-d --network=主机 --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-文件后端/.env 华坤神/wol:最新
docker运行-d --network=主机 --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e 端口=9090 -e JWT_SECRET=wol 秘密 -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 华坤神/wol:最新