النشر
wol-web
أمر عينة
الخيار 1
الخيار 2
صورة عامل الميناء
منصة مدعومة
تشغيل عامل الميناء
ملف الإرساء
الإنشاء باستخدام Makefile (مستحسن)
التثبيت والبناء اليدوي
البناء باستخدام عامل الإرساء (أسهل)
صورة الجولانج:
صورة العقدة:
الواجهة الأمامية
قاعدة البيانات
الخلفية
وثائق واجهة برمجة التطبيقات
تشغيل الواجهة الخلفية باستخدام عامل الإرساء
حالات الاستخدام
واجهة المستخدم
لتطوير
بيئة عامل الميناء
بناء الواجهة الأمامية
الخلفية
النشر
متغيرات البيئة
تطبيق ويب مستضاف محليًا لـ Wakeonlan ، يقوم بتشغيل أجهزة الكمبيوتر في شبكة خاصة.
استخدم VPN للدخول إلى شبكتك وتنشيط أجهزة الكمبيوتر لديك بنقرة بسيطة في متصفحك.
الواجهة الأمامية: Vue.js + TypeScript
الواجهة الخلفية: جولانج + ألياف
npm i -g @vue/clicd الواجهة الأمامية تثبيت npm خدمة تشغيل npm
لقد تحولت قاعدة البيانات من postgresql إلى sqlite. لذلك ليست هناك حاجة لإعداد قاعدة بيانات، وسيتعامل الخادم مع sqlite.
الخلفية للقرص المضغوط بيانات مكدير -p اذهب واحصل على -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 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 # مشابهًا تمامًا لطريقة إنشاء عامل الإرساء، مجرد غلاف مبسط
إذا كان لديك Nodejs 15+، npm على جهازك، فيمكنك القرص المضغوط في الواجهة الأمامية
الواجهة الأمامية للقرص المضغوط تثبيت npm بناء تشغيل npm:pwa
إذا لم تكن التبعيات مثبتة لديك، فيمكنك استخدام docker compose لإنشاء بنية إنتاج الواجهة الأمامية.
docker compose -f docker-compose-helpers.yml تشغيل الواجهة الأمامية
لمزيد من المعلومات والتكوينات المتعلقة بالواجهة الخلفية، تحقق من ملف README للواجهة الخلفية
يمكنك تكوين
ميناء الخادم
عدد المستخدمين المسموح لهم بالتسجيل
سر JWT ووقت تسجيل الدخول (JWT_VALID_TIME)
قم بتشغيل make build-backend
لإنشاء الواجهة الخلفية الثنائية.
إذا كان لديك golang مثبتًا، فيمكنك أيضًا تشغيل go build . -o server
داخل مجلد backend
.
huakunshen/wol:latest
لينكس/arm64/v8
لينكس/الذراع/v6
إنوكس/ذراع/v7
لينكس/AMD64
تحتوي صورة عامل الإرساء على كل ما تحتاجه لتشغيل التطبيق، بما في ذلك واجهة المستخدم الخاصة بـ Wakeonlan والتي تسمى wol
. يمكنك تشغيل حاوية مع الشبكة = المضيف لاستخدام أداة wol
cli.
حجم عامل الإرساء إنشاء wol تشغيل عامل الميناء -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 يستخدمان لإنشاء صورة عامل الإرساء.
ملف الإرساء
قم بتشغيل 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
يمكن استخدام متغير env NUM_USER_ALLOWED
لتحديد عدد المستخدمين المسموح لهم بالتسجيل. الافتراضي هو 1 إذا كنت المستخدم الوحيد.
أثناء التطوير، يمكن تعديل متغيرات بيئة قاعدة البيانات والخادم في backend/.env
تحقق من الواجهة الخلفية أيضًا.
تحرير backend/.env
القرص المضغوط في هذا الدليل (wol-web)
تشغيل عامل الميناء -د --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data --env-file backend/.env هواكوشن/وول:الأحدث
تشغيل عامل الميناء -د --network=host --name wol-web -v ${PWD}/wol-web-data:/wol-server/data -المنفذ = 9090 -e JWT_SECRET=wol-secret -e JWT_VALID_TIME=20000 -ه NUM_USER_ALLOWED=1 هواكوشن/وول:الأحدث