การปรับใช้
Wol-เว็บ
คำสั่งตัวอย่าง
ตัวเลือกที่ 1
ตัวเลือกที่ 2
รูปภาพนักเทียบท่า
แพลตฟอร์มที่รองรับ
นักเทียบท่าวิ่ง
Dockerfile
สร้างด้วย Makefile (แนะนำ)
การติดตั้งและสร้างด้วยตนเอง
สร้างด้วยการเขียนนักเทียบท่า (ง่ายกว่า)
ภาพโกลัง:
ภาพ nodejs:
ส่วนหน้า
ฐานข้อมูล
แบ็กเอนด์
เอกสาร API
เรียกใช้แบ็กเอนด์ด้วยนักเทียบท่าเขียน
ใช้กรณี
UI
เพื่อพัฒนา
สภาพแวดล้อมนักเทียบท่า
สร้างส่วนหน้า
แบ็กเอนด์
การปรับใช้
ตัวแปรสภาพแวดล้อม
เว็บแอปที่โฮสต์ในเครื่องสำหรับ wakeonlan เปิดคอมพิวเตอร์ในเครือข่ายส่วนตัว
ใช้ VPN เพื่อเข้าสู่เครือข่ายของคุณและปลุกคอมพิวเตอร์ของคุณด้วยการคลิกง่ายๆ ในเบราว์เซอร์ของคุณ
ส่วนหน้า: Vue.js + TypeScript
แบ็กเอนด์: โกลัง + ไฟเบอร์
npm i -g @vue/clicd ส่วนหน้า ติดตั้ง npm เรียกใช้บริการ NPM
ฐานข้อมูลได้เปลี่ยนจาก postgresql เป็น sqlite ดังนั้นจึงไม่จำเป็นต้องตั้งค่าฐานข้อมูล เซิร์ฟเวอร์จะจัดการ sqlite
แบ็กเอนด์ซีดี ข้อมูล mkdir -p ไปรับ -u github.com/cosmtrek/air# เพิ่ม go/bin ไปยัง pathexport PATH=$HOME/go/bin:$PATH # บน linux คล้ายกับ macair # เริ่มโหลดซ้ำแบบสด
นักเทียบท่าเขียน -f docker-compose-helpers.yml เรียกใช้ dev-backend
หรือ make dev-backend
ดูแบ็กเอนด์และตัวแปรสภาพแวดล้อมสำหรับตัวเลือกการกำหนดค่าเพิ่มเติม
https://docuenter.getpostman.com/view/UVRAJ7MZ?version=latest
แอปสามารถโฮสต์ด้วยนักเทียบท่าได้ซึ่งต้องการให้เครื่องติดตั้ง docker
และ docker compose
หากคุณต้องการรันโดยไม่มีนักเทียบท่า (ด้วย golang ดั้งเดิม) โปรดดูส่วนต่อๆ ไป: ปรับใช้โดยไม่มีนักเทียบท่า
แก้ไขแท็กรูปภาพภายใน docker compose.yml
และ docker docker-compose-helpers.yml
ขึ้นอยู่กับเครื่องที่คุณใช้งาน
โกลัง:1.17.6-อัลไพน์3.15
โหนด:16
หากต้องการปรับใช้แอป คุณไม่จำเป็นต้องสร้างส่วนหน้า เพียงดาวน์โหลดรุ่นจาก GitHub
หรือใช้คำสั่งนี้ make download-frontend
หากคุณต้องการสร้าง โปรดอ่านคำแนะนำต่อไปนี้
ส่วนหน้าเขียนด้วย vuejs และจำเป็นต้องสร้างด้วยตนเองเพื่อสร้างโฟลเดอร์ dist
ซึ่งมี index.html
และทรัพยากรอื่นๆ
ทำให้ build-frontend # เหมือนกับวิธีการเขียนของนักเทียบท่าทุกประการ เพียงใช้ wrapper แบบง่าย
หากคุณมี nodejs 15+, npm บนเครื่องของคุณ คุณสามารถ cd เข้าสู่ ส่วนหน้าได้
ส่วนหน้าซีดี ติดตั้ง npm รันบิลด์: pwa
หากคุณไม่ได้ติดตั้งการขึ้นต่อกัน คุณสามารถใช้ นักเทียบท่าเขียน เพื่อสร้างบิลด์ที่ใช้งานจริงส่วนหน้าได้
นักเทียบท่าเขียน -f docker-compose-helpers.yml รัน build-frontend
สำหรับข้อมูลเพิ่มเติมและการกำหนดค่าที่เกี่ยวข้องกับแบ็กเอนด์ โปรดตรวจสอบ README แบ็กเอนด์
คุณสามารถกำหนดค่าได้
พอร์ตของเซิร์ฟเวอร์
จำนวนผู้ใช้ที่ได้รับอนุญาตให้สมัคร
ความลับของ JWT และเวลาเข้าสู่ระบบ (JWT_VALID_TIME)
เรียกใช้ make build-backend
เพื่อสร้างไบนารีแบ็กเอนด์
หากคุณติดตั้ง golang ไว้ คุณยังสามารถเรียกใช้ go build . -o server
ได้ go build . -o server
ภายในโฟลเดอร์ backend
huakunshen/wol:latest
ลินุกซ์/arm64/v8
ลินุกซ์/แขน/v6
inux/arm/v7
ลินุกซ์/เอเอ็มดี64
อิมเมจนักเทียบท่ามีทุกสิ่งที่คุณต้องการเพื่อเรียกใช้แอป รวมถึง wakeonlan cli ที่เรียกว่า wol
คุณสามารถรันคอนเทนเนอร์ด้วย network=host เพื่อใช้เครื่องมือ wol
cli
ปริมาณนักเทียบท่าสร้าง Wol นักเทียบท่า 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
เพื่อให้ทำงานโดยไม่มีโหมดแยกออก
คุณสามารถเพิ่มตัวแปรสภาพแวดล้อมที่กำหนดเองได้ตามคำแนะนำ
Dockerfile มี 2 เวอร์ชันที่ใช้สร้างอิมเมจนักเทียบท่า
Dockerfile
รัน make build-frontend
หรือ make download-frontend
เพื่อสร้าง build ที่ใช้งานจริง
สร้างทั้ง vue frontend และ golang server ลงในอิมเมจ
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
สามารถใช้ตัวแปร env NUM_USER_ALLOWED
เพื่อระบุจำนวนผู้ใช้ที่ได้รับอนุญาตให้ลงชื่อสมัครใช้ ค่าเริ่มต้นคือ 1 หากคุณเป็นผู้ใช้เพียงคนเดียว
ในระหว่างการพัฒนา ตัวแปรสภาพแวดล้อมฐานข้อมูลและเซิร์ฟเวอร์สามารถแก้ไขได้ใน backend/.env
ตรวจสอบแบ็กเอนด์ด้วย
แก้ไข backend/.env
cd ลงในไดเร็กทอรีนี้ (wol-web)
นักเทียบท่ารัน -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-ไฟล์แบ็กเอนด์/.env huakunshen/wol:ล่าสุด
นักเทียบท่ารัน -d --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -e พอร์ต=9090 -e JWT_SECRET=wol-secret -e JWT_VALID_TIME=20,000 -e NUM_USER_ALLOWED=1 huakunshen/wol:ล่าสุด