Развертывание
воль-паутина
Пример команды
Вариант 1
Вариант 2
Докер-образ
Поддерживаемая платформа
запуск докера
Докерфайл
Сборка с помощью Makefile (рекомендуется)
Ручная установка и сборка
Сборка с помощью Docker Compose (проще)
голанг изображение:
изображение узла:
Внешний интерфейс
База данных
Бэкэнд
API-документация
Запустите бэкэнд с помощью Docker Compose
Варианты использования
пользовательский интерфейс
Развивать
Докер-среда
Создать интерфейс
Бэкэнд
Развертывание
Переменные среды
Веб-приложение, размещенное локально для Wakeonlan , включает компьютеры в частной сети.
Используйте VPN, чтобы войти в свою сеть и разбудить свои компьютеры простым щелчком мыши в браузере.
Фронтенд: Vue.js + TypeScript.
Бэкенд: голанг + волокно
npm i -g @vue/clicd интерфейс установка npm npm запустить подачу
База данных перешла с postgresql на sqlite. Поэтому нет необходимости настраивать базу данных, сервер будет обрабатывать sqlite.
серверная часть компакт-диска mkdir -p данные go get -u github.com/cosmtrek/air# добавьте go/bin в pathexport 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
в зависимости от того, на каком компьютере вы работаете.
голанг: 1.17.6-альпийский3.15
узел: 16
Чтобы развернуть приложение, вам не нужно создавать интерфейс, просто скачайте релиз с github.
Или с помощью этой команды make download-frontend
.
Если вам нужно его построить, прочтите следующие инструкции.
Интерфейс написан на vuejs, и его необходимо собрать вручную, чтобы создать папку dist
, содержащую index.html
и другие ресурсы.
сделайте build-frontend # точно таким же, как метод компоновки docker, просто упрощенную оболочку
Если на вашем компьютере установлен nodejs 15+, npm, вы можете перейти во внешний интерфейс.
интерфейс компакт-диска установка 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 содержит все необходимое для запуска приложения, включая интерфейс Wakeonlan под названием wol
. Вы можете запустить контейнер с параметром network=host, чтобы использовать инструмент wol
cli.
Docker Volume создать wol docker run -d --network=host --restart=unless-stopped --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
или просто запустите make deploy
(псевдоним команды docker run
выше).
запустите make deploy-test
для запуска без режима отсоединения.
Вы можете добавить собственные переменные среды, следуя инструкциям.
Для создания образа Docker используются две версии Dockerfile.
Докерфайл
запустите make build-frontend
или make download-frontend
для создания рабочей сборки
встройте в образ как интерфейс vue, так и сервер golang
Dockerfile
предполагает, что интерфейс уже скомпилирован (в frontend/dist
)
затем docker build -t huakunshen/wol:latest .
построить имидж
make buildx
сгенерирует многоплатформенный образ
Переменные среды можно добавить/перезаписать следующим образом:
добавление environment:
для docker compose
или
добавление -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
перейдите в этот каталог (wol-web)
докер запустить -d --network=хост --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-файл серверной части/.env хуакуньшен/вол: последнее
докер запустить -d --network=хост --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e ПОРТ=9090 -e JWT_SECRET=воль-секрет -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 хуакуньшен/вол: последнее