نصب پلتفرم و سرویس‌ها

نصب پلتفرم IIoT — دانلود ایمیج‌ها، راه‌اندازی Docker و نصب و راستی‌آزمایی سامانه.

دانلود فایل‌های نصب

ایمیج‌های نصب پلتفرم IIoT را به دو روش می‌توانید دانلود کنید.

هنگامی که سرور دسترسی به اینترنت ندارد — برای نمونه، تحت سیاست امنیتی سازمانی — می‌توانید پلتفرم را به‌صورت آفلاین نصب کنید. ایمیج‌های نصب از روی یک رسانه خارجی به سرور منتقل می‌شوند.

مراحل نصب

  • کپی بسته داده موردنیاز

    بسته نصب را روی سرور کپی کنید (دسترسی مدیر لازم است):

    • آرشیو دانلودشده unicloud.tgz و پوشه images (بسته نصب مستقل همراه با ایمیج‌های آرشیوشده) را در پوشه خانگی کاربر کپی کنید. این آرشیو همچنین شامل فایل‌های پیکربندی docker-compose.yml و .env است (.env پنهان است، بنابراین نمایش فایل‌های پنهان را فعال کنید).
    • images
      • vadtel-nginx-latest.tar.gz
      • vadtel-app-latest.tar.gz
      • anytelemetry-latest.tar.gz
      • pgbouncer-latest.tar.gz
      • vadteljsondaemon-latest.tar.gz
      • logrotate-latest.tar.gz
      • postgres-15.1-alpine.tar.gz
      • redis-6.0.16-alpine.tar.gz
      • vector-latest.tar.gz
    • فایل‌های پیکربندی را در /opt/vadtelnewweb/ کپی کنید.

    • نام‌های کاربری و گذرواژه‌های سامانه را در فایل .env تنظیم کنید:

  • نصب Docker و Docker Compose

    روی توزیع مبتنی بر CentOS

    نصب Docker و Docker Compose:

    bash
    sudo dnf install docker-ce docker-compose

    راه‌اندازی Docker و فعال‌سازی آن هنگام بوت:

    bash
    sudo systemctl enable --now docker && systemctl start docker

    روی توزیع مبتنی بر Debian

    نصب Docker و Docker Compose:

    bash
    sudo apt update
    sudo apt install docker docker-compose
  • نصب سامانه

    مراحل باقی‌مانده روی همه سیستم‌عامل‌ها یکسان است. کاربری که برنامه را اجرا خواهد کرد به گروه docker بیفزایید:

    bash
    sudo usermod -aG docker ${USER}

    آرشیو unicloud.tgz را در پوشه خانگی کاربر باز کنید:

    bash
    tar -xf unicloud.tgz
    • unicloud
      • run
        • db-unicloud
      • remote_install.sh
      • init-db
        • create_tables.sql
      • script_conf.sh
      • docker-compose.yml
      • logs
        • crontab
        • vadteljsondaemon
        • anytelemetry
      • backups
      • data
        • db-unicloud
      • local-images
        • pgbouncer.tar.gz
        • postgres.tar.gz
        • vadteljsondaemon.tar.gz
        • anytelemetry.tar.gz
        • logrotate.tar.gz
      • unicloud.service

    پوشه استخراج‌شده unicloud را در پوشه خانگی کاربر باز کنید و اسکریپت نصب را اجرا کنید:

    bash
    sudo ./remote_install.sh

    پس از نصب بسته، /var/lib/unicloud را با دسترسی مدیر باز کنید و مالک و گروه فایل .env را به کاربر جاری تغییر دهید.

    اسکریپت، نام کاربری و گذرواژه پایگاه‌داده را در /var/lib/unicloud/.env تولید می‌کند. این مقادیر را در /opt/vadtelnewweb/.env کپی کنید:

    bash
    VADTEL_UNICLOUD_TEST_USERNAME=NEED_USERNAME
    
    VADTEL_UNICLOUD_TEST_PASSWORD=NEED_PASSWORD
  • استخراج و بارگذاری ایمیج‌ها

    فایل‌های ایمیج را در پوشه images که پیش‌تر کپی شده است از حالت فشرده خارج کنید:

    bash
    gunzip vadtel-nginx-latest.tar.gz
    gunzip vadtel-app-latest.tar.gz
    gunzip anytelemetry-latest.tar.gz
    gunzip pgbouncer-latest.tar.gz
    gunzip vadteljsondaemon-latest.tar.gz
    gunzip logrotate-latest.tar.gz
    gunzip postgres-15.1-alpine.tar.gz
    gunzip redis-6.0.16-alpine.tar.gz
    gunzip vector-latest.tar.gz

    ایمیج‌ها را در Docker بارگذاری کنید:

    bash
    docker load -i vadtel-nginx-latest.tar
    docker load -i vadtel-app-latest.tar
    docker load -i anytelemetry-latest.tar
    docker load -i pgbouncer-latest.tar
    docker load -i vadteljsondaemon-latest.tar
    docker load -i logrotate-latest.tar
    docker load -i postgres-15.1-alpine.tar
    docker load -i redis-6.0.16-alpine.tar
    docker load -i vector-latest.tar.gz

    بررسی کنید که ایمیج‌ها در دسترس باشند:

    bash
    docker images

    هر نه ایمیجی که بارگذاری کردید باید در فهرست ظاهر شوند.

    اگر ایمیج‌ها بدون خطا بارگذاری شدند، فرمان زیر را از پوشه /var/lib/unicloud اجرا کنید:

    bash
    docker-compose up -d

    یک دایرکتوری برای برنامه vadtelnewweb در زیر /opt ایجاد کنید:

    bash
    sudo mkdir /opt/vadtelnewweb
    cd /opt/vadtelnewweb

    سپس فایل‌های docker-compose.yml و .env را (اگر آن‌ها را پیش‌تر برای یک نصب جدید کپی نکرده‌اید) در /opt/vadtelnewweb کپی کنید.

    در نخستین اجرا، پایگاه‌داده را ایجاد کنید:

    bash
    docker-compose run app bundle exec rails db:create

    اکنون برنامه را راه‌اندازی کنید:

    bash
    docker-compose up -d
    رفع اشکال

    اگر برنامه پس از راه‌اندازی خطای زیر را گزارش کند:

    bash
    network unicloud_unicloud-net declared as external, but could not be found

    شبکه خارجی در حین نصب ایجاد نشده است. نصب اولیه را از آرشیو unicloud.tar.tgz همان‌گونه که در نصب سامانه شرح داده شده انجام دهید، سپس برنامه را دوباره راه‌اندازی کنید:

    bash
    docker-compose up -d

    کانتینرهای در حال اجرا را بررسی کنید:

    bash
    docker ps

    همه کانتینرها باید با وضعیت Up فهرست شوند.

  • بررسی سامانه

    پس از راه‌اندازی برنامه، نشانی IP سروری که برنامه روی آن اجرا می‌شود را در مرورگر خود باز کنید تا از فعال‌بودن سامانه مطمئن شوید:

    bash
    http://127.0.0.1/auth/users/sign_in
    صفحه ورود پلتفرم IIoT با فیلدهای ایمیل و گذرواژه
    صفحه ورود پلتفرم IIoT

    ایمیل و گذرواژه ورود در /opt/vadtelnewweb/.env تنظیم می‌شوند:

    .env
    VADTEL_SUPER_ADMIN_EMAIL= (login)
    VADTEL_SUPER_ADMIN_PASSWORD= (password)

گام‌های بعدی

اکنون که پلتفرم نصب و اجرا شده است، آن را طوری تنظیم کنید که به‌صورت تمیز به‌روزرسانی شود و همراه با سرور به‌طور خودکار راه‌اندازی مجدد شود.

موضوعات مرتبط

آخرین به‌روزرسانی در

آیا این صفحه مفید بود؟