مقالات

[5 Mins Docker] استقرار بستر و زیرساخت تداوم منبع باز – مات – 51 ثانیه


Checkmate یک پلت فرم و زیرساخت تداوم کسب و کار منبع باز است. خودت میزبانی میکنی نقاط پایانی HTTP، اهداف پینگ/TCP، کانتینرهای Docker، سرویس‌های gRPC و WebSocket، سرورهای بازی، امتیازات PageSpeed ​​و معیارهای سطح ماشین را از عامل Capture نظارت می‌کند، سپس هشدارهایی را به ایمیل، Slack، Discord، Teams، Telegram، Matrix، PagerDuty، Pushover مورد نظر شما ارسال می‌کند.

این پست بر روی استقرار Docker با MongoDB درون محل تمرکز خواهد کرد. متأسفانه، بر اساس آزمایش من، هم Azure Cosmos DB برای MongoDB (https://portal.azure.com/#browse/Microsoft.DocumentDb%2FdatabaseAccounts) و هم MongoDB Atlas (https://www.mongodb.com/products/platform/cloud) از این برنامه پشتیبانی نمی کنند.

استقرار داکر

صفحه اسناد Checkmate، https://checkmate.so/docs/getting-started/installation، نحوه نصب بر روی سرور محلی یا راه دور را نشان می دهد.

ما از یک سرور راه دور به عنوان نمونه پیاده سازی استفاده می کنیم.

1. یک VPS رایگان از Google Cloud Platform دریافت کنید.

2. یک به روز رسانی را اجرا کنید و اندازه swap را افزایش دهید

sudo -i

apt update -y &&apt upgrade -y

wget https://raw.githubusercontent.com/51sec/swap/main/swap.sh &&bash swap.sh

توجه: فایل مبادله 1024 مگابایتی را اضافه کنید.

3. docker و docker compose را نصب کنید

apt install docker.io

apt install docker-compose

4. پوشه پروژه ایجاد کنید و فایل dockercompose را دریافت کنید

mkdir -p /root/data/docker_data/mat

wget https://github.com/bluewave-labs/Checkmate/raw/refs/heads/develop/docker/dist-mono/docker-compose.yaml

5. فایل docker-compose.yaml را تغییر دهید

از آنجایی که ماشین مجازی ما یک IP عمومی دارد، 35.255.100.243 ، برخی از تنظیمات را در فایل yaml تغییر می دهیم:

خدمات:

سرور:

تصویر: ghcr.io/bluewave-labs/checkmate-backend-mono:latest

pull_policy: همیشه

راه اندازی مجدد: همیشه

پورت ها:

– “52345:52345”

متوسط:

– UPTIME_APP_API_BASE_URL=http://35.255.100.243:52345/api/v1

– UPTIME_APP_CLIENT_HOST=http://35.255.100.243

– DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db

– CLIENT_HOST=http://35.255.100.243

– JWT_SECRET = my_secret

بستگی_به:

– mongodb

mongodb:

تصویر: ghcr.io/bluewave-labs/checkmate-mongo:latest

راه اندازی مجدد: همیشه

دستور: [“mongod”, “–quiet”, “–bind_ip_all”]

حجم ها:

– ./mongo/data:/data/db

بررسی سلامت:

تست: [“CMD”, “mongosh”, “–eval”, “db.adminCommand(‘ping’)”, “–quiet”]

فاصله زمانی: 5 ثانیه

تایم اوت: 30 ثانیه

دوره_شروع: 0 ثانیه

start_interval: 1s

تکرار: 30

توجه: می‌توانید نگاشت پورت را برای استفاده از پورت 80 تغییر دهید، اما پورت 80 باید روی فایروال VPS شما باز باشد.

پورت ها:

– “80:52345”

6. Dockers را بیاورید (2 docker: server و mongodb)

ساخت داکر

یا

docker کامپایل -d

7. http://35.255.100.243:52345

در اینجا اولین صفحه ورود به سیستم است که باید حساب کاربری خود را ثبت کنید.

پس از ایجاد/ثبت اولین سوپر ادمین، دیگر این صفحه را نخواهید دید.
در عوض، یک صفحه ورود به سیستم برای ورود به سیستم نمایش داده می شود. سایر کاربران را می توان برای پیوستن دعوت کرد.

یک صفحه وضعیت ایجاد کنید

می توانید آدرس صفحه وضعیت خود را انتخاب کنید، مانند 1، سپس یک URL عمومی با 1 به پایان می رسد.

در اینجا یک آدرس اینترنتی وجود دارد، نگاشت پورت از 52345 تا 80 در فایل docker yaml تنظیم شده است.

  • http://35.255.100.243/status/public/1

پیش نیازهای استقرار داکر

ویدیوها:

انتشارات:

داکر خود را بسازید/به‌روزرسانی/نگهداری کنید

منابع رایگانی که ممکن است برای تکمیل این پروژه داکر نیاز داشته باشید:

خدمات از پیش نصب شده:

  • بارانداز،
    • به روز رسانی مناسب
    • apt install docker.io
    • apt install docker-compose
    • آپدیت apt docker.io
    • mkdir /root/data/docker_data/
  • Docker-Compose (با استفاده از سیستم عامل اوبونتو برای دستورات)
    • Docker-کامپایل کردن
    • دستور اختیاری: از دستور زیر برای پشتیبان گیری از داده های Docker خود استفاده کنید. ممکن است لازم باشد نام پوشه خود را بر اساس پیکربندی docker خود تغییر دهید
      • cp -r /root/data/docker_data/ /root/data/docker_data_backup/
    • pull docker نوشتن
    • docker-compile -d
    • برش تصویر داکر
    • docker compose log -f
    • docker compose down –remove- orphans
  • دربان (اختیاری)
    • حجم docker ایجاد portainer_data
    • docker run -d -p 9000:9000 –name portainer – restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/porttainer-ce:latest
  • چند برنامه را نصب کنید: apt نصب wget curl sudo vim git (اختیاری)
  • aapanel با Nginx (اختیاری)
  • مدیر پروکسی Nginx (اختیاری)
  • صفحه نصب (اختیاری)
    • صفحه نصب (بستگی به توزیع لینوکس دارد که از قبل نصب شده باشد یا خیر): صفحه نصب yum
    • شروع صفحه: صفحه نمایش یا صفحه نمایش -S
    • جدا کردن از صفحه: “CTRL+A,D” نه “CTRL+A+D”
    • فهرست همه صفحه‌های در حال اجرا: صفحه نمایش -ls
    • دوباره به صفحه وصل کنید: صفحه نمایش -ص یا صفحه -p
    • یک صفحه نمایش خاص را بکشید: صفحه نمایش -X -S ترک
    • همه صفحه‌ها را بکشید: صفحه نمایش pkill
  • نظارت بر استفاده

Docker و پوشه های مرتبط را حذف کنید

  • توقف داکر # داکر را متوقف کنید اما چیزی را حذف نکنید.
  • داکر rm -f # یک ظرف خاص را حذف کنید اما حجم های نصب شده را حذف نمی کند
  • rm -rf /root/data/docker_data/ # تمام حجم های نقشه برداری شده را حذف کنید

یا اگر از Docker compose استفاده می کنید، در اینجا دستورات مرتبط وجود دارد:

  • cd /root/data/docker_data/
  • docker آهنگسازی
  • سی دی ..
  • rm -rf /root/data/docker_data/ #همه چیزهای زیر پوشه را حذف کنید

Docker را به روز کنید

برای docker آهنگسازی

  • cd /root/data/docker_data/drawioai
  • docker compose دانلود
  • docker compose up -d # بدون نیاز به استفاده از دستور docker compose stop برای توقف docker ابتدا.به روز رسانی بیشتر طول می کشد.docker compose up -d می‌تواند تمام مراحل را کامل کند، docker را متوقف کند، به‌روزرسانی کند و بلافاصله آن را مجدداً راه‌اندازی کند.
  • docker image prune # prune تمام اشیاء docker استفاده نشده و تصاویر بدون برچسب و استفاده نشده را حذف می کند.

برای اجرای داکر

  • داکر کشش
  • docker stop guacamole all in one
  • docker rm guacamole-all-in-one
  • دستور شروع docker خود را دوباره اجرا کنید

اندازه فایل های گزارش Docker را محدود کنید

cat > /etc/docker/daemon.json EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    }
}
EOF

MongoDb

توجه: مقایسه Azure Cosmos DB برای MongoDB با MongoDB Atlas – https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/compare-mongodb-atlas

  • Azure Cosmos DB برای MongoDB دارای یک ردیف رایگان با 1000 واحد درخواستی (RU) و 25 گیگابایت فضای ذخیره سازی برای همیشه است. سطح آزاد همچنین شامل محدودیت هایی برای جلوگیری از تجاوز از این آستانه ها می شود.
  • MongoDB Atlas فقط از یک لایه رایگان با حافظه 512 مگابایتی پشتیبانی می کند.

https://marketplace.microsoft.com/en-us/product/mongodb.mongodb_atlas_self_serve_prod_2022?ocid=Azure_mdbpartnerpage.&ref=www.google.com&hasfullconsent=false

MongoDB Atlas را راه اندازی کنید (همانطور که هستید پرداخت کنید)

کل اشتراک Microsoft Azure SaaS شما: https://portal.azure.com/#browse/Microsoft.SaaS%2Fresources

ویدیوها

checkmate.51sec.eu.org

مراجع

  • Github: https://github.com/bluewave-labs/Checkmate
  • وب سایت: checkmate.so
  • نسخه ی نمایشی: https://demo.checkmate.so/ اعتبار آزمایشی: [email protected] / Demouser1!
  • اسناد: https://checkmate.so/docs



Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا