Penyebaran
wol-web
Contoh Perintah
Pilihan 1
pilihan 2
Gambar Docker
Platform yang Didukung
menjalankan buruh pelabuhan
file buruh pelabuhan
Bangun dengan Makefile (disarankan)
Instalasi dan Pembuatan Manual
Membangun dengan penulisan buruh pelabuhan (lebih mudah)
gambar golang:
gambar nodejs:
Bagian depan
Basis data
Bagian belakang
Dokumentasi API
Jalankan backend dengan penulisan buruh pelabuhan
Kasus Penggunaan
UI
Untuk Berkembang
Lingkungan Docker
Bangun Bagian Depan
Bagian belakang
Penyebaran
Variabel Lingkungan
Aplikasi web yang dihosting secara lokal untuk wakeonlan , nyalakan komputer di jaringan pribadi.
Gunakan VPN untuk masuk ke jaringan Anda dan membangunkan komputer Anda dengan satu klik sederhana di browser Anda.
Bagian depan: Vue.js + TypeScript
Bagian belakang: golang + fiber
npm saya -g @vue/clicd frontend instalasi npm npm menjalankan servis
Basis data telah beralih dari postgresql ke sqlite. Jadi tidak perlu menyiapkan database, server akan menangani sqlite.
bagian belakang cd mkdir -p data go get -u github.com/cosmtrek/air# tambahkan go/bin ke pathexport PATH=$HOME/go/bin:$PATH # di linux, serupa di macair # mulai live reload
docker composer -f docker-compose-helpers.yml jalankan dev-backend
atau make dev-backend
Lihat backend dan Variabel Lingkungan untuk opsi konfigurasi selengkapnya.
https://documenter.getpostman.com/view/UVRAJ7MZ?version=latest
Aplikasi ini dapat dihosting dengan buruh pelabuhan yang mengharuskan mesin memasang docker
dan docker compose
.
Jika Anda ingin menjalankannya tanpa buruh pelabuhan (dengan golang asli), lihat bagian selanjutnya: Penerapan Tanpa Docker
Ubah tag gambar dalam docker compose.yml
dan docker docker-compose-helpers.yml
bergantung pada mesin yang Anda jalankan.
golang:1.17.6-alpine3.15
simpul:16
Untuk menerapkan aplikasi, Anda tidak perlu membuat frontend, cukup unduh rilisnya dari github.
Atau gunakan perintah ini make download-frontend
.
Jika Anda perlu membuatnya, baca petunjuk berikut.
Frontend ditulis dalam vuejs dan perlu dibuat secara manual untuk menghasilkan folder dist
yang berisi index.html
dan sumber daya lainnya.
buat build-frontend # sama persis dengan metode penulisan buruh pelabuhan, hanya pembungkus yang disederhanakan
Jika Anda memiliki nodejs 15+, npm di mesin Anda, Anda dapat melakukan cd ke frontend
bagian depan cd instalasi npm npm jalankan build:pwa
Jika Anda belum menginstal dependensi, Anda dapat menggunakan docker composer untuk membangun build produksi frontend.
docker composer -f docker-compose-helpers.yml jalankan build-frontend
Untuk informasi lebih lanjut dan konfigurasi terkait backend, periksa README backend
Anda dapat mengkonfigurasi
pelabuhan server
jumlah pengguna yang diizinkan untuk mendaftar
Rahasia JWT dan Waktu Masuk (JWT_VALID_TIME)
Jalankan make build-backend
untuk membangun biner backend.
Jika Anda sudah menginstal golang, Anda juga dapat menjalankan go build . -o server
dalam folder backend
.
huakunshen/wol:latest
linux/arm64/v8
linux/lengan/v6
inux/lengan/v7
linux/amd64
Gambar buruh pelabuhan berisi semua yang Anda perlukan untuk menjalankan aplikasi, termasuk cli wakeonlan yang disebut wol
. Anda dapat menjalankan container dengan network=host untuk menggunakan alat wol
cli.
volume buruh pelabuhan membuat wol docker run -d --network=Host --restart=unless-stopped --name wol-web -v wol:/wol-server/data huakunshen/wol:latest
atau jalankan saja make deploy
(alias perintah docker run
di atas).
jalankan make deploy-test
untuk dijalankan tanpa mode pelepasan.
Anda dapat menambahkan variabel lingkungan yang disesuaikan dengan mengikuti instruksi.
Ada 2 versi Dockerfile yang digunakan untuk membangun image buruh pelabuhan.
file buruh pelabuhan
jalankan make build-frontend
atau make download-frontend
untuk menghasilkan build produksi
membangun vue frontend dan server golang ke dalam gambar
Dockerfile
mengasumsikan bahwa frontend sudah dikompilasi (di frontend/dist
)
lalu docker build -t huakunshen/wol:latest .
untuk membangun citra
make buildx
akan menghasilkan gambar multi-platform
Variabel Lingkungan dapat ditambahkan/ditimpa dengan:
menambahkan environment:
ke layanan docker compose
atau
menambahkan -e env_name=env_value
ke docker run
Variabel berikut adalah variabel lingkungan default.
PORT=9090 JWT_SECRET=secret JWT_VALID_TIME=14400 # in minute NUM_USER_ALLOWED=1
NUM_USER_ALLOWED
variabel env dapat digunakan untuk menentukan jumlah pengguna yang diizinkan untuk mendaftar. Defaultnya adalah 1 jika Anda adalah satu-satunya pengguna.
Selama pengembangan, variabel lingkungan Database dan Server dapat dimodifikasi di backend/.env
periksa backend juga.
edit backend/.env
cd ke direktori ini (wol-web)
menjalankan buruh pelabuhan -d --network=host --nama wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-file belakang/.env huakunshen/wol:terbaru
menjalankan buruh pelabuhan -d --network=host --nama wol-web -v ${PWD}/wol-web-data:/wol-server/data -e PELABUHAN=9090 -e JWT_SECRET=rahasia-wol -e JWT_VALID_TIME=20000 -e NUM_USER_ALLOWED=1 huakunshen/wol:terbaru