SubLaneSubLane

النشر والارتقاء

SubLane دليل: النشر والتحسينات.

من أجل أول مجموعة محلية لك، تابع الطلب الأول- استخدام هذه الصفحة عند اختيار طريقة النشر، أو تشكيل هيئة نائية أو رفع مستوى.

SubLane تجري كعملية واحدة مع واجهة متأصلة SQLite- الإنتاج لا يتطلب خدمة (نود-ج) أو (ريديس) أو خدمة بديلة منفصلة، أو إدارة واحدة ضد كل دليل بيانات.

منشورة Docker الصور

النشرات الموسومة ghcr.io/murongg/sublane for linux/amd64 و linux/arm64. Docker يختار الهيكل المضيف، الصور عامة ويمكن سحبها دون التوقيع على القانون الإنساني الدولي. Docker مع Compose; No source checkout, Go, Node.js or local image build is needed.

الدليل Compose الأمثلة الواردة أدناه: 0.1.0-rc.1 تفضلوا SUBLANE_IMAGE النشر اليدوي: Compose التقصير latestالذي يُنشر فقط مع إطلاق مستقر.

Tagمعنى
0.1.0مثال على صيغة ثابتة؛ استخدام نسخة منشورة فعلا
0.1.0-rc.1النشر المسبق؛ لا يستكمل latest
latestأحدث صيغة ناجحة رُقيت بشكل مستقر
0.1.0-amd64 / 0.1.0-arm64صور الإفراج حسب التكتيك

استخدام نسخة ثابتة أو نبذة ثابتة للنشرات القابلة للتكرار، ولا تستكمل صورة جديدة تظهر في السجل الهيدروجيني العالمي الحاويات الجارية تلقائياً.

تركيب النص

أدير المُسلّح من محطة طرفية لاختيار Docker أو a نُشرَ لينكس ثنائي، a حالة عادية أَو a يُقْرَحُ فقط، ثمّ لا محترف، Caddy أَو نجينكس:

(ج) استخدام مفتاح أعلى/دون أو رقم أساسي لإبراز خيار، ثم بدء العمل للتأكيد، ويختار الخيار الأول عن طريق التقصير، ويستخدم المحطات الطرفية الأساسية عجلات النص المرقمة، ويظل هذا المجال مدخلاً في النص، ويبيّن المُعدّل التشكيلة المولدة للتأكيد قبل النشر. --non-interactive كل شيء مُعطل.

Install script · 1
curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh | bash

بدون --versionالسيناريو يُختار GitHubآخر إصدار ثابت، فقط عندما لا يوجد إطلاق مستقر، يُختار أحدث نشرة سابقة للإيجار، باستثناء المشاريع، النسخة الملموسة المختارة تُحفظ في التشكيلة المُولدة، لذا فإنّ الصيغ الجاهزة لا تتغير بصمت. GitHub API الأخطاء تتوقف عن التركيب بدلاً من إحداث تراجع في القناة

النص يُصدّقُ القطعةَ المُختارةَ للإفراجِ ضدّ SHA256SUMS قبل تركيبه في جديد ./sublane دليل، باش، وكريل، و إما sha256sum أو shasum (ب) مطلوبة؛ ويتطلب اختيار النسخة التلقائية إضافة إلى ذلك (ج ف). Docker الطريقة المطلوبة Docker Compose وينتظر أن تصبح الحاوية صحية، ويحتاج أسلوب ثنائي إلى شركة لينكس إمد 64/سلحة 64، إلى مدير مستعمل نظامي يعمل، ويتيح خدمة المستخدمين وينتظر الانتظار /readyzلا يستقر Docker(كادي) أو (نجريكس) ولا يبني من المصدر

لاختيار نسخة منشورة، دليل جديد ومرفأ مضيف بدون دفعات:

Install script · 2
curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh | bash -s -- \
  --version 0.1.0-rc.1 --dir ./team-gateway --port 8088 --runtime docker --proxy none --non-interactive

قد تشمل بطاقات الإصدار القيادة vالمرفأ الخلفي يبقى متجهاً 127.0.0.1- عندما لا يكون هناك محطة طرفية، تكون حالة عادية تستخدم Docker مع عدم وجود أي دليل يظل التخلف عن السداد؛ --runtime, --proxyأو --demo لاختيار طرق أخرى، لاستعمال نفق من طراز SSH من أجل التجهيز الأولي أو تنظيم HTTPS الوكيل العكسي.

يستخدمه المُسلّح ss (من طراز iproute2) أو lsof لتفقد المرفأ الخلفي المختار قبل التنزيل، ومرة أخرى قبل إنشاء الوزع، إذا كان هناك مستمع للبطاقات البرية يستخدم ذلك الميناء، يتوقف ويطالبك باختيار ميناء غير مستخدم --portعلى سبيل المثال --port 8088- إنشاء أي من المرافق إذا لم يكن هناك أي منها - لا يحجب وكيل حالي في الموانئ 80 أو 443 منشأة باستخدام المرفأ الخلفي 8080، ولا يمكن للضوابط أن تحتفظ بالميناء؛ ولا تزال عمليات التفتيش الصحية الأولية تلحق بصراعات تظهر بعد ذلك.

For example, choose the published binary and generate a Caddyfile for a public domain:

curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh | bash -s -- \
  --runtime binary --proxy caddy --domain sublane.example.com

--domain (هو اختياري مع (كادي) أو (نجينكس بدونه، الوكيل المتولد يستمع إليه 127.0.0.1:80 فوق HTTP و SUBLANE_PUBLIC_URL يبقى غير مستقر، مع مجال، مجموعة المُسلّح SUBLANE_PUBLIC_URL=https://<domain> ويولد HTTPS تشكيلة محترفة، إنها تظهر التشكيلة قبل تركيبها، لكن لا ينسخها أو يعيد تحميل الخدمة البديلة- استعراض المولدات Caddyfile أو nginx.conf و تطبيقه بنفسك، نموذج (نجينكس) يفترض ملفات الشهادة تحت /etc/letsencrypt/live/<domain>/.

For Dockerالمُحرّر يكتب الصورة المُختارة، والميناء، و فريدة. Compose اسم المشروع .envاحتفظ به docker.compose.yamlإنه يحدد حجم بيانات النشر، بالنسبة للطريقة الثنائية، يولد sublane.env, start.sh وحدة مستعملين متصلين بالنظم؛ البيانات تبقى في القطاع الخاص data/ الدليل - يمكن أن تتوقف خدمة المستخدمين النظامية عندما يسجل المستخدم ما لم يُمكَّن من الازدحام؛ loginctl show-user "$USER" -p Linger وترتيب الملابس الداخلية إذا كنت بحاجة إلى عملية غير مكتملة، وترفض المنشآت الجديدة الأدلة والوصايا القائمة، ويمكن تحديث تركيبة قائمة مجهزة بالكتاب، على النحو المبين أدناه، وفي حالة فشل بدء التشغيل، يحتفظ بالتشكيل وأي بيانات مستحدثة للتفتيش.

تحديث تركيبة مجهزة بالكتاب

أولا تصدير وتحقق من قاعدة بيانات احتياطيةوقراءة مذكرات إطلاق الهدف، اكتب النص من والد دليل التركيب، في محطة طرفية، يقدم هدف قائم Update existing instance وطلب تأكيده قبل نشره، واختيار تحديثه بشكل صريح:

Update an existing installation
curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh | bash -s -- \
  --update --dir ./sublane

بدون --versionوتستخدم المستجدات نفس الاختيار المستقر/الجاهز للتركيب. --version <published-version> لكشف إطلاق النار --wait-timeout 120 لتغيير الانتظار الاستعداد أو --non-interactive التفويض يكشف عن الوقت الحالي، والأعلام المتجهة فقط مثل --runtime, --port, --proxy و --demo ويُرفض خلال عمليات التحديث.

Docker الحفاظ على المستجدات Compose الملف واسم المشروع، التغيير فقط SUBLANE_IMAGE في .envوسحب الصورة المختارة، واستعادة الخدمة بإنتظار صحي، وتتحقق المستجدات الملزمة من المحفوظات، وتحل محل الوثائق/الملفات القابلة للتنفيذ والمحزمة، وتعيد تشغيل وحدة المستخدمين النظامية القائمة، وتنتظر الحصول على الوثائق/الرخص، /readyzالملفات البيئية، وأجهزة الإطلاق، ووحدة المستخدمين، والتشكيلات البديلة، ومسارات البيانات، من المتوقع أن يتم شغل ميناء الخدمة الحالي، لذا فإن التحديثات لا تجري فحوصات جديدة للميناء.

ويترك التفريغ والفحص والتشكيل والاختلالات الصورية الملفات المنشورة دون تغيير، وقبل استبدالها، يحفظ النص ملفات البرنامج/التداول السابقة في ملف خاص .update-backup.* دليل داخل التركيب و يطبع مساره هذه الملفات ليست قاعدة بيانات بديلة ويحتفظ بها الفشل في البدء وبيانات النشر الحالية لأغراض التفتيش، ويُبلغ عن الفشل، ولا يُجري تلقائياً نسخة أقدم من قاعدة بيانات يحتمل أن تُنقَل. التعافي والتراجع وعندما تكون هناك حاجة إلى استعادة البيانات، يُرفض إجراء تحديث متزامن؛ وإذا ما قُتلت العملية بالقوة، تُزيلها. .update-lock فقط بعد تأكيد عدم وجود تحديثات لا تزال نشطة.

ويدعم هذا المسار المستكمل المنشآت التي أنشأها النص. Compose ينبغي أن تستخدم الملفات الزائدة إجراءات التحديث اليدويبما في ذلك جميع التجاوزات في البداية اللاحقة

لاستعراض النص قبل تشغيله، تحميله مع curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh -o install.shثم اركض bash install.sh --help أو bash install.sh بعد استعراضه.

الدليل Compose النشر

إنشاء دليل للنشر والتحميل docker.compose.yaml من المختار GitHub الإصدار:

Manual Compose deployment · 3
mkdir sublane && cd sublane
curl -fsSL https://github.com/murongg/SubLane/releases/download/v0.1.0-rc.1/docker.compose.yaml -o docker.compose.yaml

في ذلك الدليل، خلق Compose .env ملف للإبقاء على نسخة مختارة من الصور عبر المواسير والارتقاءات:

Manual Compose deployment · 4
SUBLANE_IMAGE=ghcr.io/murongg/sublane:0.1.0-rc.1
SUBLANE_BIND_ADDRESS=127.0.0.1
SUBLANE_PORT=8080
SUBLANE_LOG_LEVEL=info
# Add this when using an HTTPS reverse proxy:
# SUBLANE_PUBLIC_URL=https://sublane.example.com
# In Docker, first identify the proxy source IP as seen inside the container:
# SUBLANE_TRUSTED_PROXIES=<proxy-source-ip>/32

Compose يقرأ .env For interpolation; the standalone Go application does not load .env نفسه، يمكن استخدام الهضم غير القابل للاشتعال ككل SUBLANE_IMAGE قيمة بدلاً من بطاقة

Manual Compose deployment · 5
docker compose -f docker.compose.yaml pull
docker compose -f docker.compose.yaml up -d
docker compose -f docker.compose.yaml ps
docker compose -f docker.compose.yaml logs --tail=100 sublane

افتح الباب http://127.0.0.1:8080 و تم إنشاء مدير كامل قبل السماح للعضو بالدخول، و بالنسبة لمضيف بعيد، استخدم نفق SSH للتجهيز الأولي. Compose وضع الخرائط على أساس الثغرة؛ النشر 0.0.0.0 هو خيار واضح للمشغلين.

الصوره تدور كالألبين الحالي sublane حساب الخدمات، يشمل شهادات ورخصات من وكالة الجمارك الكندية، وعمليات التحقق /readyz. Compose يستخدم مُلفات الجذور فقط، مُؤلف 64 ميغابايت /tmp المزمار SDK ملفات الخدش، وأسقطت قدرات لينكس، وسجلات حاويات مقيدة، وفترة سماح للتوقف لمدة 30 ثانية، وتستمع الحاوية إلى الميناء 8080؛ وتكييف الميناء المضيف عبر SUBLANE_PORT- إذا أطاح بميناء الاستماع الداخلي بنفسك، أيضا تغيير الفحص الصحي ورسم خرائط الموانئ.

البيانات الثابتة

إسمه sublane-data حجم الحاويات /data/sublane.dbملفاتها وبحوزتها /data/credentials.keyحافظ على مفتاح التشفير مع قاعدة البيانات Compose مفاتيح الخدمة/الحجم محمية، لذا فإن الترقيات من مصادر سابقة تحافظ على استخدام نفس الحجم عند تشغيلها من نفس الحجم Compose مشروع.

حافظوا على Compose تغييره يخلق حجما مختلفا ويمكن أن يجعل الحالة القائمة تبدو غير مبدئية. docker compose -f docker.compose.yaml down -v هذا يزيل حجم البيانات، ولكن إذنهم المضيف يجب أن يسمحوا لحساب الصورة الغير مكتمل أن يكتب الدليل المُعدّل، ويُفضّل التخلف عن الدفع المُسمّى ما لم يكن ملكية المسار المضيف مقصّداً.

البناء من المصدر

ولبناء المستودع محلياً بدلاً من ذلك، واستخدام التجاوز المبني من المصدر:

Build from source · 6
git clone https://github.com/murongg/SubLane.git
cd SubLane
docker compose -f docker.compose.yaml -f docker.compose.build.yaml up --build -d

استخدام كلا الملفين للقيادات اللاحقة ضد ذلك النشر، لوضع بيانات متقنة:

Build from source · 7
VERSION=0.1.0-dev REVISION=$(git rev-parse HEAD) \
  docker compose -f docker.compose.yaml -f docker.compose.build.yaml build

"الدوكرفيل" يجمّع TARGETOS/TARGETARCH ومن مراحل البناء الأصلية، ومن ثم فإن بناء ARM64 على X86-64 لا يجسد بناء المجمع أو الجبهة، ويمكن بناء صورة متعددة الطرازات ببنائه المكون:

Build from source · 8
docker buildx build --platform linux/amd64,linux/arm64 \
  --build-arg VERSION=0.1.0-dev --output type=oci,dest=dist/sublane.oci.tar .

الإبداع dist أولاً - يُستهدف عادة بناء/حمولة محلية منتظمة منصة واحدة. Docker' التوجيه الشامل.

Standalone Linux binary

تحميل الأرشيف تطابق آلتك SHA256SUMS من نفس الإفراج:

  • sublane_VERSION_linux_amd64.tar.gz: X86-64.
  • sublane_VERSION_linux_arm64.tar.gz: AArch64.

على (لينكس)، تحقق من الملفات المُحمّلة، واستخرج المحفوظات إلى دليل جديد مستنسخ، وأجري:

Standalone Linux binary · 9
sha256sum --check --ignore-missing SHA256SUMS
./sublane --version
SUBLANE_ADDR=127.0.0.1:8080 SUBLANE_DATA_DIR=/srv/sublane/data ./sublane

ويتضمن المحفوظات نصوص الترخيص القابلة للتنفيذ، والحظر الشامل للتجارب النووية، وأطراف ثالثة، Compose الملف، ونموذج البيئة، ووثائق النشر/التجديد، والاحتفاظ بدليل البيانات خارج الدليل المنفذ المستنسخ، وجعله خاصاً ومؤلفاً من جانب مستخدم الخدمات، واستخدام مشرف على العمليات من أجل التشغيل المستمر، ويمكن للمحلل المرشد أن يؤدي هذا الإنشاء بخدمة مستخدمة نظامية، ولا تدير البوابة على أنها متجذرة.

أسلوب ديمو

العازف يقدم الحالة الطبيعية أو القراءة فقط بعد اختيار الوقت المناسب، لا تزال الطريقة العادية غير مقصودة، لاختيار طريقة العرض مباشرة:

Install a read-only demo
curl -fsSL https://raw.githubusercontent.com/murongg/SubLane/main/scripts/install.sh | bash -s -- --demo

--demo العمل مع كليهما --runtime docker و --runtime binaryمضافا إليه --non-interactive استخدام التخلف عن الدفع للخيارات المتبقية SUBLANE_DEMO=true إلى .env for Compose أو sublane.env - الخدمات الثنائية، ويعرض لوح خشب الجمهور بعد التركيب. SUBLANE_DEMO لا يُبطل طريقة المُختارة للغير.

دعم إزالة الألغام يجب أن يكون موجوداً في تشكيلة إطلاق سراح مُختارة المُحقّق منه، المُسلّم يرفض الإطلاقات القديمة قبل سحب/إطلاق الحاويات أو التمكين من الخدمة. --version لاختيار الإفراج الذي يشمل الدعم المقدم، ولا يعود إلى حالة عادية.

في بناء يحتوي على دعم تجريبي، بدء مظاهرة قراءة فقط مع:

Start a disposable demo
SUBLANE_DEMO=true ./sublane

افتحي عنوان الخادم المعتاد واختاري Exploreأو يوقع على اسم المستخدم demo كلمة السر sublane-demo- يبين الطلب بوضوح حسابات الاشتراك في العينات، والمجمعات، والأعضاء، API البيانات الوصفية الرئيسية وطلب التاريخ و30 يوماً من الاستخدام - تعمل الملاحية والمرشحات واللغة والأفضليات المواضيعية عادة، ويمكن تفتيش أشكالها، ولكن الكتابة والكشف عن الإبداع، OAuthالدعم، وجميع المكالمات الهاتفية (بما في ذلك المكالمات) WebSocket() مجمدة؛ ولا يزال الدخول والقطع متاحا.

كل بداية تخلق قاعدة بيانات مؤقتة خاصة ومفتاح تشفير. SUBLANE_DATA_DIR:: قطع ملفات مؤقتة، ويمكن للقتل المفاجئ أن يترك متعهدين أو خدمات الإفراج/الحجز. sublane-demo-* دليل نظام التشغيل المؤقت يعيد النظر في الأمثلة مع التواريخ الأخيرة SUBLANE_DEMO لاستئناف التركيب الطبيعي

لأغراض التنمية، الاستخدام SUBLANE_DEMO=true make devمع هذه النسخة Compose ملف، مجموعة SUBLANE_DEMO=true في .env ويجب تحسين أو إعادة بناء الحاوية، كما يجب تحسين أو إعادة بناء النسخ المنشورة الموجودة دون دعم مخفض، ولا تزال الاصغات العادية، والمنشأة الخارجية، والإطارات القائمة على الثقة سارية.

تشكيلة ساعات العمل

وتقرأ الخدمة القائمة بذاتها هذه المتغيرات البيئية للعمليات؛ .env.example قائمة بالأمثلة، لا تحملها .env الملف تلقائياً Compose يقرأ .env ولإستقبالها الخاص وتمرر البيئة المهيأة إلى الحاوية.

الفرقالتخلف عن السدادالغرض
SUBLANE_ADDR127.0.0.1:8080HTTP عنوان الاستماع
SUBLANE_DATA_DIR./dataSQLite قاعدة البيانات ودليل التشفير الرئيسي
SUBLANE_CREDENTIALS_KEY_FILE—ملف مفتاح خاص اختياري خارج دليل البيانات؛ يحافظ على الموقع الحالي إذا لم يُضبط
SUBLANE_DEMOfalsetrue تبدأ عملية منعزلة، قابلة للتصرّف، تُقرأ فقط؛ تقبل فقط true أو false
SUBLANE_LOG_LEVELinfodebug, info, warn أو error
SUBLANE_MAX_REQUEST_BODY_MB128الطلب النموذجي وإعادة البناء WebSocket السياق المحدد في مرفق البيئة العالمية؛ المبرد الإيجابي
SUBLANE_GATEWAY_CAPACITY128العمليات الفضائية
SUBLANE_GATEWAY_QUEUE_LIMIT100النادل لكل مجموعة
SUBLANE_GATEWAY_QUEUE_TIMEOUT30sإنتظار القدرات
SUBLANE_GATEWAY_REQUEST_TIMEOUT30mمجموع الطلب/الحل النهائي
SUBLANE_GATEWAY_STREAM_IDLE_TIMEOUT0sالموعد النهائي في أعلى المجرى؛ صفر من المعطلات
SUBLANE_GATEWAY_KEEPALIVE_INTERVAL10sSSE التعليق على نبضات القلب؛ صفر من الاضطرابات
SUBLANE_GATEWAY_RETRIES2Retries before a successful response
SUBLANE_GATEWAY_RETRY_DELAY500msالتأخير الأولي في إعادة التأهيل
SUBLANE_GATEWAY_TRANSIENT_THRESHOLD3عتبة الفشل النموذجي؛ صفر من الإخفاقات
SUBLANE_GATEWAY_TRANSIENT_WINDOW2mالفشل النموذجي
SUBLANE_GATEWAY_TRANSIENT_COOLDOWN10sالتبريد الأولي للنموذج
SUBLANE_GATEWAY_RATE_LIMIT_COOLDOWN5sسقوط مفقود
SUBLANE_INFERENCE_HEADER_TIMEOUT5mInference response-header wait; 0s disables; metadata timeout stays separate
SUBLANE_PUBLIC_URLUnset(أ) الأصل الخارجي الحقيقي؛ HTTPS يمكّن من تأمين بسكويت الدورة
SUBLANE_TRUSTED_PROXIESUnsetالبلاغات التي انفصلت عن البيانات المتعلقة بالوكالة العكسية التي يثق في توفيرها X-Forwarded-For حدود التوثيق

The Docker الصورة تتعدى على عنوان الاستماع 0.0.0.0:8080 ودليل البيانات /data. SUBLANE_IMAGE, SUBLANE_BIND_ADDRESS و SUBLANE_PORT configure Compose فقط SQLite يُطلق على الشكل الموحد على قاعدة بيانات جديدة ويستخدم وصلة واحدة لقاعدة البيانات.

يهيّئ بدء التشغيل قواعد البيانات الجديدة ويطبّق الترحيلات الناقصة بالترتيب على القواعد القائمة المدعومة. تُرفض البنية التجريبية المبكرة غير المتوافقة التي تحتوي 001_settings.sql؛ احتفظ بمجلدها واستخدم مجلدًا جديدًا. صدّر نسخة احتياطية وتحقق منها قبل الترقية. لا يؤدي تبديل صورة التشغيل وحده إلى التراجع عن البيانات المرحّلة.

SUBLANE_MAX_REQUEST_BODY_MB ينطبق على البوابة HTTP الطلبات، WebSocket رسائل وإعادة بناء سياق المحادثة. Responses وتحتفظ أحداث التيار بحدودها الـ 8 المتعلقة ببروميد الميثيل، وتعيد تشغيل الخدمة القائمة بذاتها أو تعيد إحياء الحاوية بعد تغيير الحد الأقصى للطلب، ومواءمة أي حدود للجسد العميل مع القيمة الجديدة.

إذا تجاوزت حدودك SUBLANE_PRICING_URLكما تم وضعه SUBLANE_PRICING_HASH_URL (ب) ملف تطابق SHA-256 للحفاظ على سلامة الوثائق مُتاحاً، وثمن مُعدّل دون سعر مُلحّ، وُجِّه وُجِّد ولكنه لم يُحدَّد على نحو متسرع.

وتحتاج التغييرات في ساعات العمل الجارية في بوابة إلى إعادة تشغيل أو استجمام للحاويات. Compose الملفات تمر بهذه المتغيرات من خلال المستجدات التي تتم تحت إشراف صارم Compose الملفات؛ إضافة قيود بيئية جديدة إلى بيانات قديمة Compose ملف قبل الاعتماد على .env تجاوزات - لا تزال ظروف المحاسبة/الموافقة بين الأعضاء قائمة بصورة منفصلة.

HTTPS الوكيل العكسي

المجموعة SUBLANE_PUBLIC_URL إلى المصدر الخارجي الدقيق، مثل https://sublane.example.comهذا مطلوب من وراء الوكيل العكسي لأن التراجع يُستمدّ من مصدر رأس الطلب المضيف WebSocket تحديثات

المجموعة SUBLANE_TRUSTED_PROXIES لعناوين مركز التحقيقات الجنائية الخاصة بك هوايات محترفة. SubLane تم الوصول إلى ثنائي على حلقة IPv4، استخدام 127.0.0.1/32 (أبي) ::1/128 - حلقة IPv6 - A Docker قد ترى الحاوية العميل المضيف كعنوان جسرها بدلاً من العبث؛ ويترك العفاريت هذه القيمة فارغة Docker مالم تمرر --trusted-proxies مع العنوان SubLane في الواقع، بالنسبة لحاوية محترفة، استخدم عنوانها الثابت أو شبكة فرعية خاصة مكرسه وممتدة بشكل ضيق. SubLane تجاهل X-Forwarded-For مالم يطابق النظراء المباشر هذه القائمة، ثمّ يستعمل الـ "آي بي" الحقّ الأكثر غير موثوق به في السلسلة من أجل الحدّ الأقصى لقطع الأشجار. SubLane بدونه جميع المستخدمين خلف عميل واحد يتشاركون الحد الأقصى للقطعة

من أجل وكيل كادي يركض على نفس المضيف

Caddyfile
sublane.example.com {
    reverse_proxy 127.0.0.1:8080
}

(كادي) يتعامل مع (تي إل إس) WebSocket التحديثات والارتفاعات SSE استجابات تلقائية، أبقوا سلوكهم الناقص حتى يلغى العملاء العمل في المجرى flush_interval تغير سلوك الإلغاء انظر إشارة كادي العكسيةإذا كان الوكيل حاوية أخرى، استخدم Compose اسم الخدمة sublane:8080 على شبكة مشتركة؛ 127.0.0.1 داخل الحاوية العميلة تشير إلى تلك الحاوية نفسها

لتركيب (نجينكس) الحالي وضع الخريطة في http سياق واستخدام هذه المواقع داخلها HTTPS كتلة الخادم:

HTTPS reverse proxy · 11
map $http_upgrade $sublane_connection {
    default upgrade;
    ''      close;
}

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $sublane_connection;
    proxy_buffering off;
    proxy_read_timeout 650s;
    proxy_send_timeout 650s;
    client_max_body_size 128m;
}

# Web backup uploads/downloads can be larger and last up to 15 minutes.
location /api/settings/backup/ {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_request_buffering off;
    proxy_buffering off;
    proxy_read_timeout 950s;
    proxy_send_timeout 950s;
    client_max_body_size 256m;
}

الثقة HTTPS شهادة في الخادم الأصلي لـ (نجينكس) Nginx WebSocket الدليل يجب أن تسمح الحدود أيضاً بحجم الطلب/الدعم في أي طبقة أخرى من الطبقات البديلة

أعلى

  1. Review the release notes and record the current image version/digest.

  2. تصدير دعم ثابت ونسخه من حجم البيانات:

    Upgrade · 12
    docker compose -f docker.compose.yaml exec sublane sh -c 'mkdir -p /data/backups'
    docker compose -f docker.compose.yaml exec sublane sublane backup --output /data/backups/pre-upgrade.sublane-backup.tar.gz
    docker compose -f docker.compose.yaml exec sublane sublane backup verify --input /data/backups/pre-upgrade.sublane-backup.tar.gz
    docker compose -f docker.compose.yaml cp sublane:/data/backups/pre-upgrade.sublane-backup.tar.gz ./pre-upgrade.sublane-backup.tar.gz
    chmod 600 ./pre-upgrade.sublane-backup.tar.gz

    استخدام اسم ملف جديد لكل ترقية؛ والنسخ الاحتياطية القائمة لا تبالغ في الكتابة، ويشمل المحفوظات مفتاح التشفير وينتمي إلى التخزين الخاص.

  3. التغيير SUBLANE_IMAGE في .env إلى النسخة المختارة، ثم سحب وإعادة إحياء:

    Upgrade · 13
    docker compose -f docker.compose.yaml pull
    docker compose -f docker.compose.yaml up -d
    docker compose -f docker.compose.yaml ps
    docker compose -f docker.compose.yaml logs --tail=100 sublane
  4. :: صحة التأكيد، والاشتراكات، والحسابات المتوقعة/الدول/الكميات، ودعوة واحدة مأذون بها صراحة للعميل، وتتلقى قاعدة بيانات جديدة قاعدة بيانات موحدة SQLite العلاج الكيميائي في البداية، التحقق من صحة الصور من مدى استعداد العملية/قاعدة البيانات، وليس تصريحاً حقيقياً للمزودين.

التعافي والتراجع

تغيير علامة الصورة وحدها ليس إعادة تشغيل قاعدة البيانات، وإذا كان إطلاقها قد نقل الكيماويات، واستعادة المحفوظات قبل التخرج إلى دليل جديد مع الكم الكبير/الضرائب القديمة المعتزمة، ثم وقف الخدمة الحالية والتحول إلى ذلك الدليل المستعاد، والاحتفاظ بالحجم الأصلي حتى يتم التحقق، ولا تدع عمليتين تتقاسمان نفس الشيء. SQLite دليل.

The دليل احتياطي :: تغطية تكاليف تجديد موارد المؤسسة واستعادة شبكة الإنترنت Compose تجاوز /data/restore-ready- الاستمرار في استخدام التجاوزات في مرحلة لاحقة، في حين أن هذا الدليل نشط، ولا يمكن فتح دعم من شيمة جديدة عن طريق إطلاق سراح أقدم لا يعترف به.

التحقق من الحاويات

مع Docker محرك تشغيل:

Container verification · 12
docker compose -f docker.compose.yaml config --quiet
docker compose -f docker.compose.yaml -f docker.compose.build.yaml config --quiet
docker buildx build --load --build-arg VERSION=0.0.0-test -t sublane:smoke .
bash scripts/container-smoke.sh sublane:smoke 0.0.0-test

وينشئ نص الدخان مجلده وحاويته التي يمكن التخلص منها، مع تعطيل شبكاتها، ويتحقق من الصحة، والنسخة، والإعدام غير المتكرر، والمسارات التي تجري مباشرة، والتجهيزات الأولى بوثائق التفويض الاصطناعية، والأذون الرئيسية، والدعم/التدقيق/الإعادة إلى السوق، والثبات بعد إعادة التشغيل، ولا يزيل إلا تلك الموارد المؤقتة ولا يتصل بمقدمي الخدمات أو يستخدم بيانات الفرزة الموجودة(64).