نصب Plane جایگزین Jira

https://negarnovin.com/docs/how-to-deploy-plane/ · آخرین به‌روزرسانی: · نویسنده: نگارنوین · سایت: نگارنوین · 22 دقیقه مطالعه

📌 خلاصه (TL;DR)

How to Deploy Plane An Opensource Jira Alternative آموزش نصب Plane جایگزین Jira یاد بگیرید Plane جایگزین متن‌ باز Jira روی سرور نصب کنید

📊 حقایق کلیدی

URLhttps://negarnovin.com/docs/how-to-deploy-plane/
تاریخ انتشار2025-09-22
آخرین به‌روزرسانی2025-09-22
نویسندهنگارنوین
ناشرنگارنوین
زبانفارسی (fa-IR)
تعداد کلمات4271
نوع صفحهبرگه

🛒 محصول و قیمت

نام محصولنحوه نصب Plane – یک جایگزین متن‌ باز برای Jira
قیمت2000 USD
موجودیInStock
برندنگارنوین
دسته‌بندیserver
SKUVPS-30045

📄 محتوای کامل

نحوه نصب Plane – یک جایگزین متن‌ باز برای Jira یاد بگیرید که Plane، یک جایگزین متن‌باز Jira، را روی سرور مجازی نصب کنید. آن را با SSL، اعلان‌های ایمیل و احراز هویت ایمن کنید.

مقدمه

Plane یک ابزار مدیریت پروژه متن‌باز با قابلیت توسعه‌پذیری بالا است که از انواع مختلفی از چارچوب‌ها مانند Agile، Kanban، waterfall و timelines پشتیبانی می‌کند. این ابزار جایگزینی برای پلتفرم‌هایی مانند Jira، Asana و Linear است که به شما امکان می‌دهد با استفاده از ابزارهایی مانند Docker یا Kubernetes، تمام منابع برنامه را در یک محیط کانتینر شده به صورت مستقل میزبانی کنید.

این راهنما نحوه استقرار Plane روی یک سرور مجازی و راه‌اندازی یک محیط ردیابی مشکل با گواهینامه‌های SSL معتبر، اعلان‌های ایمیل و روش‌های احراز هویت برای ایمن‌سازی برنامه شما را توضیح می‌دهد.

پیش‌ نیازها

  • با استفاده از سرور مجازی نگارنوین با حداقل رم، یک سرور با نصب داکر راه‌اندازی کنید 4 GB.
  • یک پایگاه داده مدیریت شده برای PostgreSQL جهت استفاده با Plane نصب کنید.
  • Object Storage را به عنوان فضای ذخیره‌سازی پیش‌فرض Plane مستقر کنید .
  • برای دسترسی به سرور از SSH استفاده کنید .
  • کاربر را به گروه Docker اضافه کنید. برای مثال، linuxuser. کنسولکپی
    # usermod -aG docker linuxuser
  • به حساب کاربری غیر ریشه (non-root) بروید. کنسولکپی
    # su linuxuser

ایجاد پایگاه داده Plane

پایگاه داده پیش‌فرض Plane PostgreSQL که در محیط Docker برنامه نصب شده است، بهترین عملکرد را در محیط‌های عملیاتی ارائه نمی‌دهد. امتیازات پایگاه داده Plane را به یک NegarNovin Managed Database for PostgreSQL منتقل کنید تا علاوه بر ذخیره‌سازی داده‌های خارج از سایت، در دسترس بودن و عملکرد برنامه را بهبود بخشید. مراحل زیر را برای ایجاد یک پایگاه داده Plane جدید با استفاده از NegarNovin Managed Database for PostgreSQL خود دنبال کنید.

  1. با استفاده از رشته اتصال، به پایگاه داده مدیریت‌شده NegarNovin خود برای PostgreSQL وارد شوید. NegarNovinآدرس میزبان پایگاه داده واقعی خود را جایگزین کنید. کنسولکپی
    $ psql postgres://negarnovinadmin:[email protected]:16751/defaultdb

    وقتی از شما خواسته شد، رمز عبور کاربر NegarNovin Managed Database for PostgreSQL خود را برای دسترسی به کلاستر وارد کنید.

  2. یک پایگاه داده جدید برای استفاده با Plane ایجاد کنید. برای مثال، planedb. postgresqlکپی
    defaultdb=> CREATE DATABASE planedb;
  3. به پایگاه داده سوئیچ کنید. postgresqlکپی
    defaultdb=> \c planedb;
  4. یک جدول نمونه جدید ایجاد کنید تا تأیید کنید که کاربر PostgreSQL شما CREATEبه پایگاه داده دسترسی دارد. پستگرس‌کیوالکپی
    planedb=> CREATE TABLE people ( country VARCHAR(255), continent VARCHAR(255), age INT);
  5. از کنسول PostgreSQL خارج شوید. پستگرس‌کیوالکپی
    planedb=> \q

    Plane برای انتقال موفقیت‌آمیز داده‌ها و ایجاد تمام منابع لازم در پایگاه داده، به یک حساب کاربری PostgreSQL با سطح دسترسی super user نیاز دارد negarnovinadmin. حساب‌های کاربری غیر super user هنگام استفاده از پایگاه‌های داده خارجی به دلیل مجوزهای سطح ریشه مورد نیاز، با Plane سازگار نیستند.

نصب Plane روی سرور

  1. یک دایرکتوری پروژه جدید Plane ایجاد کنید. کنسولکپی
    $ mkdir plane
  2. به دایرکتوری تغییر دهید. کنسولکپی
    $ cd plane
  3. آخرین اسکریپت نصب Plane را با استفاده از Curl دانلود کنید. کنسولکپی
    $ curl -fsSL -o setup.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh
  4. به اسکریپت، مجوزهای اجرا اعطا کنید. کنسولکپی
    $ chmod +x setup.sh
  5. اسکریپت نصب Plane را اجرا کنید. کنسولکپی
    $ ./setup.sh

    خروجی:

    ---------------------------------------
    ____  _                  
    |  _ \| | __ _ _ __   ___ 
    | |_) | |/ _` | '_ \ / _ \
    |  __/| | (_| | | | |  __/
    |_|   |_|\__,_|_| |_|\___|    
    
    ---------------------------------------
    Project management tool from the future
    ---------------------------------------
    
    Select a Action you want to perform:
     1) Install (x86_64)
     2) Start
     3) Stop
     4) Restart
     5) Upgrade
     6) View Logs
     7) Exit
    
    Action []: 
  6. 1به عنوان مقدار اکشن وارد کنید و Enterبرای نصب پیکربندی اولیه Plane روی سرور خود، فشار دهید.
  7. تأیید کنید که فرآیند مشابه خروجی زیر موفقیت‌آمیز است:
    Installing Plane..........
    WARN[0000] /root/plane/plane-app/docker-compose.yaml: `version` is obsolete
    [+] Pulling 10/10
    ✔ plane-redis Skipped - Image is already present locally                                                0.0s 
    ✔ worker Skipped - Image is already being pulled by beat-worker                                         0.0s 
    ✔ api Skipped - Image is already being pulled by beat-worker                                            0.0s 
    ✔ migrator Skipped - Image is already being pulled by beat-worker                                       0.0s 
    ✔ plane-db Skipped - Image is already present locally                                                   0.0s 
    ✔ proxy Pulled                                                                                          2.5s 
    ✔ plane-minio Pulled                                                                                    2.7s 
    ✔ space Pulled                                                                                          2.5s 
    ✔ beat-worker Pulled                                                                                    2.5s 
    ✔ web Pulled                                                                                            2.5s 
    
    Latest version is now available for you to use
  8. 7به عنوان مقدار اکشن وارد کنید و Enterبرای خروج از اسکریپت نصب، فشار دهید.
  9. فایل‌های دایرکتوری پروژه را فهرست کنید و تأیید کنید که plane-appدایرکتوری جدیدی در دسترس است. کنسولکپی
    $ ls
  10. به دایرکتوری تغییر دهید. کنسولکپی
    $ cd plane-app
  11. تمام فایل‌های دایرکتوری را فهرست کنید تا تأیید کنید که فایل‌های جدید docker-compose.yamlو موجود هستند..env کنسولکپی
    $ ls -a

    خروجی:

    .  ..  archive  docker-compose.yaml  .env
  12. فایل متغیرهای محیطی را باز کنید .envتا مقادیر نصب Plane را تغییر دهید. کنسولکپی
    $ nano .env
  13. فیلد را پیدا کنید NGINX_PORTو پورت پیش‌فرض را 80با پورت دیگری مانند 8080. جایگزین کنید.
    NGINX_PORT=8080

    فایل را ذخیره کنید.

  14. پیدا کنید WEB_URLو http://localhostبا آدرس دامنه خود جایگزین کنید. برای مثال، https://plane.example.com.
    WEB_URL=https://plane.example.com

    فایل را ذخیره کنید.

  15. فیلد NEXT_PUBLIC_DEPLOY_URL را پیدا کنید و http://localhost/spacesضمن حفظ مسیر، آن را به آدرس دامنه خود تغییر دهید /spaces.
    NEXT_PUBLIC_DEPLOY_URL=https://plane.example.com/spaces

    فایل را ذخیره کنید.

  16. به فیلد CORS_ALLOWED_ORIGINS بروید و http://localhostآدرس دامنه خود را وارد کنید.
    CORS_ALLOWED_ORIGINS=https://plane.example.com

    فایل را ذخیره کنید.

  17. بخش تنظیمات پایگاه داده (DB Settings) را پیدا کنید و تمام مقادیر پیش‌فرض متغیرها را با جزئیات negarnovin Managed Database for PostgreSQL خود جایگزین کنید. به طور خاص، مقدار متغیر DATABASE_URL را با رشته اتصال کامل negarnovin Managed Database for PostgreSQL خود، مشابه پیکربندی زیر، جایگزین کنید.
    #DB SETTINGS
    PGHOST=abcd.negarnovin.com
    PGDATABASE=planedb
    POSTGRES_USER=negarnovinadmin
    POSTGRES_PASSWORD=password
    POSTGRES_DB=planedb
    PGDATA=/var/lib/postgresql/data
    DATABASE_URL=postgres://negarnovinadmin:[email protected]:16751/planedb

    فایل را ذخیره کنید و ببندید.

    جزئیات اتصال NegarNovin Managed Database for PostgreSQL فوق را با مقادیر منطبق خود بسته به فیلد متغیر جایگزین کنید:

    • PGHOST : آدرس پایگاه داده مدیریت‌ شده شما در negarnovin برای PostgreSQL.
    • PGDATABASE : پایگاه داده PostgreSQL هدف برای استفاده با Plane.
    • POSTGRES_USER : نام کاربری پایگاه داده PostgreSQL شما.
    • POSTGRES_PASSWORD : رمز عبور کاربر پایگاه داده PostgreSQL شما
    • POSTGRES_DB : پایگاه داده PostgreSQL که با Plane استفاده می‌شود.
    • PGDATA : مسیر دایرکتوری میزبان برای ذخیره فایل‌های داده PostgreSQL شما.
    • DATABASE_URL : رشته اتصال پایگاه داده مدیریت شده نگارنوین برای PostgreSQL که هنگام اتصال به پایگاه داده استفاده می‌شود.
  18. برای تنظیم اتصال Plane به negarnovin Object Storage، به بخش تنظیمات فروشگاه داده (DATA STORE SETTINGS) بروید .
  19. مقادیر متغیر پیش‌فرض را با جزئیات NegarNovin Object Storage خود برای استفاده با Plane تغییر دهید.
    # DATA STORE SETTINGS
    USE_MINIO=0
    AWS_REGION=ewr
    AWS_ACCESS_KEY_ID=example-access-key
    AWS_SECRET_ACCESS_KEY=example-secret
    AWS_S3_ENDPOINT_URL=https://ewr1.negarnovin.com
    AWS_S3_BUCKET_NAME=plane
    MINIO_ROOT_USER=access-key
    MINIO_ROOT_PASSWORD=secret-key
    BUCKET_NAME=uploads
    FILE_SIZE_LIMIT=5242880

    فایل را ذخیره کنید و ببندید.

    جزئیات اتصال مثال negarnovin Object Storage فوق را با مقادیر واقعی خود جایگزین کنید. در زیر آنچه هر متغیر نشان می‌دهد آمده است:

    • USE_MINIO : این مقدار 0، فضای ذخیره‌سازی پیش‌فرض اشیاء MinIO را غیرفعال کرده و متغیرهای دسترسی خارجی را فعال می‌کند.
    • AWS_REGION : مکان ذخیره‌سازی اشیاء نگارنوین شما را تنظیم می‌کند. ewrبسته به منطقه استقرار، شناسه مکان ذخیره‌سازی اشیاء خود را جایگزین کنید.
    • AWS_ACCESS_KEY_ID : کلید دسترسی NegarNovin Object Storage را برای استفاده هنگام اتصال با Plane تنظیم می‌کند. آن را example-access-keyبا رشته کلید دسترسی واقعی خود به Object Storage جایگزین کنید.
    • AWS_SECRET_ACCESS_KEY : کلید مخفی NegarNovin Object Storage را برای احراز هویت با کلید دسترسی شما تنظیم می‌کند. آن را example-secretبا کلید مخفی واقعی خود جایگزین کنید.
    • AWS_S3_ENDPOINT_URL : آدرس میزبان negarnovin Object Storage را برای ذخیره فایل‌های داده Plane شما تنظیم می‌کند. آن را ewr1.negarnovin.comبا آدرس واقعی ذخیره‌سازی شیء خود جایگزین کنید.
    • AWS_S3_BUCKET_NAME : باکت ذخیره‌سازی اشیاء نگارنوین شما را برای استفاده با Plane تعریف می‌کند. اگر باکت وجود نداشته باشد، پس از نصب به طور خودکار ایجاد می‌شود. مقدار را planeبا نام باکت دلخواه خود جایگزین کنید.
  20. به دایرکتوری اصلی پروژه Plane خود برگردید. کنسولکپی
    $ cd ../
  21. اسکریپت نصب Plane را دوباره اجرا کنید. کنسولکپی
    $ ./setup.sh
  22. مقدار اکشن 2(شروع) را وارد کنید و Enterبرای شروع نصب Plane، دکمه را فشار دهید.
  23. در حین نصب، تمام اشیاء پایگاه داده به پایگاه داده مدیریت شده نگار نوین شما برای PostgreSQL منتقل می‌شوند و NegarNovin Object Storage به عنوان رسانه ذخیره‌سازی پیش‌فرض فعال می‌شود. هنگامی که نصب موفقیت‌آمیز باشد، خروجی شما باید مانند تصویر زیر باشد:
    ✔ web Pulled            2.7s 
    ✔ api Pulled            2.6s 
    ✔ migrator Pulled       2.7s 
    ✔ beat-worker Pulled    2.7s 
    ✔ proxy Pulled          2.7s 
    ✔ worker Pulled         2.8s 
    ✔ space Pulled          2.6s 
    ⠏ Network plane-app_default     Created  2.9s 
    ⠇ Volume "plane-app_redisdata"  Created  2.8s 
    ⠇ Volume "plane-app_uploads"    Created  2.8s 
    ⠇ Volume "plane-app_pgdata"     Created  2.8s 
    ✔ Container plane-app-plane-db-1 Started  0.6s 
    ✔ Container plane-app-plane-redis-1 Started  0.6s 
    ✔ Container plane-app-plane-minio-1 Started  0.5s 
    ✔ Container plane-app-api-1     Started  0.9s 
    ✔ Container plane-app-migrator-1 Started  1.1s 
    ✔ Container plane-app-worker-1  Started  1.3s 
    ✔ Container plane-app-beat-worker-1 Started  1.4s 
    ✔ Container plane-app-web-1     Started  1.7s 
    ✔ Container plane-app-space-1   Started  2.1s 
    ✔ Container plane-app-proxy-1   Started  2.7s 
    
    
    1) Install (x86_64)
    2) Start
    3) Stop
    4) Restart
    5) Upgrade
    6) View Logs
    7) Exit
  24. مقدار اکشن را وارد کنید 7و Enterبرای بستن اسکریپت نصب Plane و تأیید نصب، فشار دهید.
  25. لیست کانتینرهای داکر در حال اجرا را مشاهده کنید و تمام نمونه‌های فعال Plane را تأیید کنید. کنسولکپی
    $ docker ps

    خروجی:

    CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS              PORTS                                   NAMES
    3709c99e7f33   makeplane/plane-proxy:latest      "/docker-entrypoint.…"   2 minutes ago   Up About a minute   0.0.0.0:8080->80/tcp, :::8080->80/tcp   plane-app-proxy-1
    747480ec5bd6   makeplane/plane-space:latest      "docker-entrypoint.s…"   2 minutes ago   Up About a minute   3000/tcp                                plane-app-space-1
    9ed0792056e5   makeplane/plane-frontend:latest   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes        3000/tcp                                plane-app-web-1
    da03e3631f32   makeplane/plane-backend:latest    "./bin/beat"             2 minutes ago   Up 2 minutes        8000/tcp                                plane-app-beat-worker-1
    46eeef24aad2   makeplane/plane-backend:latest    "./bin/worker"           2 minutes ago   Up 2 minutes        8000/tcp                                plane-app-worker-1
    a64a2737f813   makeplane/plane-backend:latest    "./bin/takeoff"          2 minutes ago   Up 2 minutes        8000/tcp                                plane-app-api-1
    eac0ca80f5d6   minio/minio                       "/usr/bin/docker-ent…"   2 minutes ago   Up 2 minutes        9000/tcp                                plane-app-plane-minio-1
    12c94f7b2291   redis:6.2.7-alpine                "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes        6379/tcp                                plane-app-plane-redis-1
    662eea3ef147   postgres:15.2-alpine              "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes        5432/tcp                                plane-app-plane-db-1
  26. یک درخواست HTTP به پورت میزبان Plane ارسال کنید 8080و دسترسی به رابط برنامه را آزمایش کنید. کنسولکپی
    $ curl 127.0.0.1:8080

    خروجی شما باید مانند تصویر زیر باشد:

    <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Plane | Simple, extensible, open-source project management tool.</title><meta name="next-head-count" content="3"/><meta property="og:site_name" content="Plane | Simple, extensible, open-source project management tool."/><meta property="og:title" content="Plane | Simple, extensible, open-source project management tool."/><meta property="og:url" content="https://app.plane.so/"/><meta name="description" content="Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind."/><meta property="og:description" content="Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind."/><meta name="keywords" content="software development, plan, ship, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration"/><meta name="twitter:site" content="@Plane | Simple, extensible, open-source project management tool."/><meta name="theme-color" content="#fff"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><link rel="manifest" href="/site.webmanifest.json"/><link rel="shortcut icon" href="/favicon/favicon.ico"/><link rel="preload" href="/_next/static/css/54a545252dd6995d.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/54a545252dd6995d.css" crossorigin="" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-1b4c5bc8f318bd96.js" defer="" crossorigin="">

    بر اساس پیکربندی Plane شما، برنامه روی پورت میزبان 8080تعریف شده توسط مقدار شما NGINX_PORTدر .envفایل اجرا می‌شود. هنگامی که اتصال موفقیت‌آمیز باشد، درخواست، داده‌های خام HTML را که نشان دهنده اتصال موفقیت‌آمیز به برنامه Plane است، خروجی می‌دهد.

هواپیمای امن

Plane یک پلتفرم ردیابی پروژه است که معمولاً توسط تیم‌ها، دپارتمان‌ها یا سازمان‌های خاص استفاده می‌شود. Plane امن با رویه‌های محیط تولید شامل قوانین فایروال امن و گواهینامه‌های SSL قابل اعتماد برای نمایش برنامه با استفاده از نام دامنه شما. بخش‌های زیر را دنبال کنید تا گواهینامه‌های SSL معتبر را با استفاده از مجوز گواهی Let’s Encrypt (CA) تولید کنید و پورت‌های فقط اتصال را از طریق برنامه فایروال سرور پیش‌فرض مجاز کنید.

پیکربندی فایروال سرور

به طور پیش‌فرض، فایروال بدون عارضه (UFW) به عنوان بسته فایروال پیش‌فرض در سرورهای NegarNovin Debian موجود و فعال است. UFW را پیکربندی کنید تا پورت‌های فقط اتصال از طریق فایروال مجاز باشند تا دسترسی ایمن به منابع برنامه Plane امکان‌پذیر شود.

  1. وضعیت فایروال را تأیید کنید. کنسولکپی
    $ sudo ufw status

    خروجی:

    Status: active
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW       Anywhere                  
    22/tcp (v6)                ALLOW       Anywhere (v6)      

    در صورت غیرفعال بودن، پورت SSH را فعال کرده 22و فایروال را با استفاده از دستورات زیر فعال کنید.

    کنسولکپی
    $ sudo ufw allow 22/tcp
    
    $ sudo ufw enable
  2. پورت اتصال HTTP را 80از طریق فایروال مجاز کنید. کنسولکپی
    $ sudo ufw allow 80/tcp
  3. به پورت اتصال HTTPS اجازه دهید 443تا اتصالات امن TLS/SSL را فعال کند. کنسولکپی
    $ sudo ufw allow 443/tcp
  4. برای اعمال تغییرات پورت جدید، جدول فایروال را مجدداً بارگذاری کنید. کنسولکپی
    $ sudo ufw reload
  5. برای تأیید تمام پورت‌های موجود، جدول فایروال را مشاهده کنید. کنسولکپی
    $ sudo ufw status

    خروجی:

    Status: active
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW       Anywhere                  
    80/tcp                     ALLOW       Anywhere                  
    443/tcp                    ALLOW       Anywhere                  
    22/tcp (v6)                ALLOW       Anywhere (v6)             
    80/tcp (v6)                ALLOW       Anywhere (v6)             
    443/tcp (v6)               ALLOW       Anywhere (v6)    

نصب Nginx Proxy Manager برای نمایش صفحه با استفاده از نام دامنه

Nginx Proxy Manager یک برنامه پروکسی معکوس است که به طور ایمن برنامه‌های Docker را برای دسترسی خارجی روی سرور در معرض دید قرار می‌دهد. در مراحل زیر، Nginx Proxy Manager را نصب کرده و آن را به شبکه داخلی Plane Docker متصل کنید. علاوه بر این، دسترسی به Plane را با استفاده از URL نام دامنه‌ای که در پیکربندی plane.example.comخود تعریف کرده‌اید، فعال کنید..env

  1. دایرکتوری کاری خود را چاپ کنید و تأیید کنید که به طور فعال از دایرکتوری پروژه Plane استفاده می‌کنید. کنسولکپی
    $ pwd

    خروجی:

    /home/user/plane
  2. یک دایرکتوری داده جدید برای ذخیره فایل‌های داکر خود ایجاد کنید. برای مثال، nginx-proxy-man. کنسولکپی
    $ mkdir nginx-proxy-man
  3. به دایرکتوری داده جدید بروید. کنسولکپی
    $ cd nginx-proxy-man
  4. یک فایل جدید Docker Compose ایجاد کنید. کنسولکپی
    $ touch docker-compose.yaml
  5. فایل را با استفاده از یک ویرایشگر متن دلخواه مانند Nano باز کنید. کنسولکپی
    $ nano docker-compose.yaml
  6. محتویات زیر را به فایل اضافه کنید. yamlکپی
    version: '3.8'
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        container_name: nginx-proxy-manager
        restart: unless-stopped
        ports:
          - '80:80'
          - '81:81'
          - '443:443'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt

    فایل را ذخیره کنید و ببندید.

    پیکربندی Docker فوق یک کانتینر جدید Nginx Proxy Manager ایجاد می‌کند و برنامه را برای دسترسی به پورت‌های میزبان زیر در معرض نمایش قرار می‌دهد:

    • ۸۰ : پورت HTTP پیش‌فرض که توسط Nginx Proxy Manager برای نمایش برنامه‌ها استفاده می‌شود.
    • ۸۱ : دسترسی به کنترل پنل Nginx Proxy Manager را فعال می‌کند.
    • ۴۴۳ : دسترسی امن HTTPS را برای برنامه‌های کاربردیِ در معرض خطر با گواهی‌های SSL معتبر تولید شده توسط Nginx Proxy Manager فعال می‌کند.
  7. دسترسی به پورت‌های میزبان HTTP و HTTPS را آزمایش کنید تا مطمئن شوید که هیچ تداخل فعالی روی سرور شما وجود ندارد. کنسولکپی
    $ sudo lsof -i :80,443

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

    COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

    اگر برنامه‌ای از پورت‌ها استفاده می‌کند، Killبرای جلوگیری از تداخل پورت با Nginx Proxy Manager، آن برنامه را با استفاده از دستور زیر متوقف کنید. برای مثال، process ID را متوقف کنید 1234.

    کنسولکپی
    $ kill 1234
  8. Nginx Proxy Manager را با استفاده از فایل Docker Compose خود نصب کنید. کنسولکپی
    $ docker compose up -d

    نصب را نظارت کنید و تأیید کنید که مشابه خروجی زیر، موفقیت‌آمیز است:

    0ce5af7edd8a: Pull complete
    0745a37aa26c: Pull complete
    5460cddfb366: Pull complete
    Digest: sha256:7f67eed835ed95108623183b35471f953630a7be480d6a2009bd79c68667ac77
    Status: Downloaded newer image for jc21/nginx-proxy-manager:latest
    Creating nginx-proxy-manager ... done
  9. تمام کانتینرهای داکر در حال اجرا را مشاهده کنید و تأیید کنید که کانتینر Nginx Proxy Manager فعال است. کنسولکپی
    $ docker ps

    خروجی:

    CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
    6b5cccf3a26a   jc21/nginx-proxy-manager:latest   "/init"                  19 seconds ago   Up 18 seconds   0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx-proxy-manager
    3709c99e7f33   makeplane/plane-proxy:latest      "/docker-entrypoint.…"   5 minutes ago    Up 5 minutes    0.0.0.0:8080->80/tcp, :::8080->80/tcp                                                  plane-app-proxy-1
    747480ec5bd6   makeplane/plane-space:latest      "docker-entrypoint.s…"   5 minutes ago    Up 5 minutes    3000/tcp                                                                               plane-app-space-1
    9ed0792056e5   makeplane/plane-frontend:latest   "docker-entrypoint.s…"   5 minutes ago    Up 5 minutes    3000/tcp                                                                               plane-app-web-1
    da03e3631f32   makeplane/plane-backend:latest    "./bin/beat"             5 minutes ago    Up 5 minutes    8000/tcp                                                                               plane-app-beat-worker-1
    46eeef24aad2   makeplane/plane-backend:latest    "./bin/worker"           5 minutes ago    Up 5 minutes    8000/tcp                                                                               plane-app-worker-1
    a64a2737f813   makeplane/plane-backend:latest    "./bin/takeoff"          5 minutes ago    Up 5 minutes    8000/tcp                                                                               plane-app-api-1
    eac0ca80f5d6   minio/minio                       "/usr/bin/docker-ent…"   5 minutes ago    Up 5 minutes    9000/tcp                                                                               plane-app-plane-minio-1
    12c94f7b2291   redis:6.2.7-alpine                "docker-entrypoint.s…"   5 minutes ago    Up 5 minutes    6379/tcp                                                                               plane-app-plane-redis-1
    662eea3ef147   postgres:15.2-alpine              "docker-entrypoint.s…"   5 minutes ago    Up 5 minutes    5432/tcp                                                                               plane-app-plane-db-1
  10. شبکه‌های داکر موجود را بررسی کنید و نام شبکه Plane را یادداشت کنید. کنسولکپی
    $ docker network ls

    خروجی:

    NETWORK ID     NAME                      DRIVER    SCOPE
    7ec823c55c9d   bridge                    bridge    local
    fa2aca31dd03   host                      host      local
    2254ef893bb3   nginx-proxy-man_default   bridge    local
    2ed043be89df   none                      null      local
    ce8716e47741   plane-app_default         bridge    local
  11. برای فعال کردن دسترسی داخلی به برنامه، Nginx Proxy Manager را به شبکه Plane متصل کنید. کنسولکپی
    $ docker network connect plane-app_default nginx-proxy-manager
  12. 81برای باز کردن پنل کنترل Nginx Proxy Manager با استفاده از یک مرورگر وب مانند فایرفاکس، به آدرس IP سرور خود در پورت دسترسی پیدا کنید . 172.16.0.2آدرس IP سرور واقعی خود را جایگزین کنید.
    http://172.16.0.2:81
    نصب Plane جایگزین Jira

    برای ورود به برنامه، اطلاعات پیش‌فرض مدیر زیر را وارد کنید:

    برای دسترسی به پنل کنترل برنامه، جزئیات کاربر اداری را تغییر دهید یا پنجره ویرایش کاربر را ببندید.

  13. در منوی پیمایش برنامه، روی Hosts کلیک کنید و Proxy Hosts را برای ایجاد پیکربندی میزبان جدید انتخاب کنید.
  14. برای باز کردن صفحه پیکربندی میزبان، روی افزودن میزبان پروکسی کلیک کنید .

  15. نام دامنه خود را در فیلد نام دامنه وارد کنید و برای ذخیره دامنه میزبان خود، روی افزودن کلیک کنید.
  16. روی فیلد Scheme کلیک کنید و http را به عنوان نوع اتصال برای دسترسی به شبکه داخلی Plane نگه دارید.
  17. نام کانتینر اصلی Plane خود را plane-app-proxy-1در فیلد Forward Hostname/IP وارد کنید .
  18. پورت کانتینر پروکسی داخلی Plane را 80در فیلد Forward Port وارد کنید .

  19. مقدار Publicly Accessible را به عنوان مقدار لیست دسترسی نگه دارید و برای اعمال تغییرات جدید میزبان، روی Save کلیک کنید.
  20. یک تب جدید در مرورگر وب باز کنید و دامنه خود را بررسی کنید تا دسترسی به رابط برنامه Plane را تأیید کنید.
    http://plane.example.com

ایجاد گواهینامه‌های SSL معتبر برای استفاده با Plane

Nginx Proxy Manager از Let’s Encrypt به عنوان مرجع صدور گواهینامه SSL پیش‌فرض استفاده می‌کند. در مراحل زیر، پیکربندی میزبان Plane را تغییر داده و گواهینامه‌های SSL معتبری را برای استفاده با نام دامنه خود ایجاد کنید.

  1. وارد کنترل پنل Nginx Proxy Manager شوید.
  2. برای دسترسی به تنظیمات هاست خود، روی Hosts کلیک کنید .
  3. روی نماد options : در کنار Status کلیک کنید و برای تغییر پیکربندی میزبان، Edit را از لیست انتخاب کنید.

  4. در پنجره‌ی بازشو Edit Host، روی تبSSL کلیک کنید .
  5. روی فیلد SSL Certificate کلیک کنید و Request a new SSL certificate with Let's Encryptاز لیست انتخاب کنید.
  6. برای فعال کردن تغییر مسیرهای خودکار از HTTP به HTTPS، گزینه Force SSL را فعال کنید .
  7. آدرس ایمیل خود را برای ارتباط با درخواست گواهی Let’s Encrypt وارد کنید.
  8. برای موافقت با شرایط مجوز گواهی SSL، گزینه «I Agree to the Let’s Encrypt Terms of Service» را فعال یا غیرفعال کنید .

  9. برای اعمال تغییرات پیکربندی میزبان، روی Save کلیک کنید .
  10. یک تب جدید در مرورگر وب باز کنید و از طریق HTTPS به دامنه خود مراجعه کنید تا دسترسی به برنامه Plane را با استفاده از یک اتصال امن تأیید کنید.
    https://plane.example.com

پیکربندی صفحه

Plane هنگام نصب روی سرور شما، برای تنظیم ساختار برنامه و دعوت از کاربران اضافی، به تنظیمات اضافی نیاز دارد. در مراحل زیر، رابط Plane را پیکربندی کنید و گزینه‌های سراسری را برای فعال‌سازی با کاربران اضافی برای دسترسی به سرور خود فعال کنید.

  1. یک پنجره مرورگر وب جدید باز کنید و با استفاده از /god-modeمسیر به دامنه Plane خود دسترسی پیدا کنید تا به صفحه پیکربندی برنامه دسترسی پیدا کنید.
    https://plane.example.com/god-mode
  2. آدرس ایمیل خود را در [email protected]فیلد وارد کنید.
  3. یک رمز عبور قوی در Enter passwordفیلد مربوطه وارد کنید تا با ایمیل مدیر مرتبط شود.

  4. برای ایجاد حساب کاربری مدیر Plane خود، روی Sign inکلیک کنید .
  5. برای دسترسی به صفحه پیکربندی نمونه Plane، روی «Go to God Mode» کلیک کنید .
  6. نام دلخواه برنامه Plane خود را در فیلد Name of instance وارد کنید و برای ذخیره جزئیات نمونه خود، روی Save Changes کلیک کنید.

  7. برای تغییر تنظیمات اعلان ایمیل Plane و اختصاص یک میزبان SMTP و یک آدرس فرستنده به برنامه برای ارسال ایمیل‌های کاربر، روی Email در نوار پیمایش کلیک کنید .
  8. برای اعمال تنظیمات برنامه Plane خود، روی Save Changes کلیک کنید .
  9. برای خروج از حالت خدا و دسترسی به نمونه صفحه خود، روی نماد God Mode در نوار بالا کلیک کنید .
  10. نام فضای کاری جدید خود را در فیلد Name it وارد کنید ، URL دامنه خود را تأیید کنید و برای ایجاد فضای کاری روی Make it live کلیک کنید.

  11. نام کاربری کوچک خود را در این Enter your full nameفیلد وارد کنید، دسته‌بندی استفاده از صفحه خود را برای شخصی‌سازی فضای کاری انتخاب کنید و برای اعمال تغییرات جدید، روی Continue کلیک کنید.
  12. آدرس‌های ایمیل تیم خود را وارد کنید و مجوزهای مناسب را برای اختصاص دادن به کاربران فضای کاری جدید انتخاب کنید.

  13. برای ارسال اعلان‌های ایمیل به آدرس‌های ایمیل کاربران، روی «Invite members» کلیک کنید یا برای صرف نظر کردن از فرآیند دعوت، بسته به تنظیمات سرور ایمیل خود، روی «Do this later» کلیک کنید.
  14. فضای کاری نمونه Plane جدید خود را تأیید کنید و برای بررسی تمام ویژگی‌های برنامه مانند چرخه‌ها، نماها، ماژول‌ها، تجزیه و تحلیل‌ها و مشکلات، روی «Take a Product Tour» کلیک کنید.

  15. برای تنظیم اولین پروژه فضای کاری و دسترسی به رابط اصلی برنامه، روی «Create my first project» کلیک کنید .
  16. برای دعوت از اعضای تیم بیشتر به برنامه Plane، روی نام Workspace کلیک کنید و برای دسترسی به لیست Members پروژه، گزینه Settings را انتخاب کنید .
  17. برای تغییر تنظیمات برنامه، روی نماد نام کاربری خود در نوار بالا سمت چپ کلیک کنید و گزینه Enter God Mode را انتخاب کنید تا به صفحه پیکربندی نمونه دسترسی پیدا کنید.

نتیجه‌ گیری

در این راهنما، شما با موفقیت Plane را روی یک سرور نگار نوین مستقر کرده‌اید و برنامه را با تنظیمات محیط تولید پیکربندی کرده‌اید. پایگاه داده مدیریت‌شده negarnovin برای PostgreSQL به عنوان پایگاه داده اصلی عمل می‌کند در حالی که NegarNovin Object Storage تمام دارایی‌های برنامه Plane را ذخیره می‌کند. این امر، دسترسی‌پذیری و عملکرد نمونه را مشابه برنامه‌های منبع بسته مانند Jira و Linear بهبود می‌بخشد. برای اطلاعات بیشتر، به مستندات رسمی Plane مراجعه کنید .

🖼️ تصاویر

🏷️ کلمات کلیدی

نصب Plane جایگزین Jira، نحوه نصب Plane – یک جایگزین متن‌ باز برای Jira، مقدمه، پیش‌ نیازها، خرید نصب Plane جایگزین Jira، قیمت نصب Plane جایگزین Jira، بهترین نصب Plane جایگزین Jira

🧩 JSON-LD

{"@context":"https://schema.org","@type":"WebPage","headline":"نصب Plane جایگزین Jira","url":"https://negarnovin.com/docs/how-to-deploy-plane/","datePublished":"2025-09-22T08:40:04+03:30","dateModified":"2025-09-22T08:40:04+03:30","author":{"@type":"Person","name":"نگارنوین"},"publisher":{"@type":"Organization","name":"نگارنوین"},"inLanguage":"fa-IR","description":"How to Deploy Plane An Opensource Jira Alternative آموزش نصب Plane جایگزین Jira یاد بگیرید Plane جایگزین متن‌ باز Jira روی سرور نصب کنید"}