نصب و کانفیگ MinIO

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

📌 خلاصه (TL;DR)

نصب و کانفیگ MinIO How to Deploy MinIO MinIO یک سرور ذخیره‌سازی شیء متن‌باز با کارایی بالا است که کاملاً با Amazon S3 API سازگار است

📊 حقایق کلیدی

URLhttps://negarnovin.com/docs/how-to-deploy-minio/
تاریخ انتشار2026-02-18
آخرین به‌روزرسانی2026-07-29
نویسندهنگارنوین
ناشرنگارنوین
زبانفارسی (fa-IR)
تعداد کلمات1384
نوع صفحهبرگه

📄 محتوای کامل

نحوه استقرار MinIO – سرور ذخیره‌سازی شیء

استقرار ذخیره‌سازی شیء MinIO با Docker Compose، Traefik TLS و S3-Compatible Access.

MinIO یک سرور ذخیره‌سازی شیء متن‌باز با کارایی بالا است که کاملاً با Amazon S3 API سازگار است. این سرور برای بارهای کاری مدرن مبتنی بر ابر طراحی شده است و آن را برای پشتیبان‌گیری، ذخیره‌سازی رسانه، دریاچه‌های داده، تجزیه و تحلیل و ذخیره‌سازی برنامه مناسب می‌کند.

سرور مجازی هلند

این مقاله نحوه استقرار MinIO در اوبونتو ۲۴.۰۴ با استفاده از Docker Compose و ایمن‌سازی API و کنسول با استفاده از یک پروکسی معکوس Traefik را نشان می‌دهد.

پیش نیازها

قبل از شروع:

  • به عنوان یک کاربر غیر ریشه با امتیازات sudo به یک سرور اوبونتو ۲۴.۰۴ دسترسی پیدا کنید.
  • داکر و داکر کامپوز را نصب کنید.
  • دو نام دامنه را که به آدرس IP عمومی سرور شما اشاره می‌کنند، پیکربندی کنید:
    • console.example.com (برای رابط کاربری وب).
    • s3.example.com (برای نقطه پایانی S3 API).

تنظیم ساختار دایرکتوری و متغیرهای محیطی

MinIO داده‌های شیء را روی دیسک ذخیره می‌کند و برای اعتبارنامه‌ها، دامنه‌ها و پیکربندی TLS به متغیرهای محیطی متکی است. این بخش ساختار دایرکتوری مورد نیاز برای ذخیره‌سازی پایدار را آماده می‌کند و متغیرهای محیطی مورد استفاده توسط Docker Compose و Traefik را در طول استقرار تعریف می‌کند.

  1. پوشه‌های پروژه را ایجاد کنید. consoleCopy
    $ mkdir -p ~/minio/{data,letsencrypt}
    • data – داده‌های واقعی شیء را ذخیره می‌کند.
    • letsencrypt – فروشگاه‌های Traefik گواهینامه‌های ACME.
  2. به دایرکتوری ریشه MinIO بروید. consoleCopy
    $ cd ~/minio
  3. یک فایل .env برای ذخیره اطلاعات احراز هویت و پیکربندی دامنه خود ایجاد کنید. consoleCopy
    $ nano .env
  4. مقادیر زیر را اضافه کنید: iniCopy
    MINIO_ROOT_USER=admin
    MINIO_ROOT_PASSWORD=STRONG_PASSWORD
    DOMAIN_CONSOLE=console.example.com
    DOMAIN_API=s3.example.com
    [email protected]

    مقادیر متغیر را با مقادیر خودتان جایگزین کنید:

    • STRONG_PASSWORD – یک رمز عبور امن برای کاربر ادمین MinIO.
    • console.example.com – دامنه برای کنسول وب MinIO.
    • s3.example.com – دامنه برای نقطه پایانی MinIO S3 API.
    • [email protected] – آدرس ایمیل برای دریافت اعلان‌های Let’s Encrypt.

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

راه اندازی با Docker Compose

این بخش سرور MinIO را پشت Traefik مستقر می‌کند. این پیکربندی دو سرویس را در معرض نمایش قرار می‌دهد: Console (رابط کاربری وب) روی پورت ۹۰۰۱ و API (دسترسی S3) روی پورت ۹۰۰۰.

  1. حساب کاربری خود را به گروه کاربری docker اضافه کنید. consoleCopy
    $ sudo usermod -aG docker $USER
  2. عضویت جدید گروه را اعمال کنید. consoleCopy
    $ newgrp docker
  3. فایل مانیفست Docker Compose را ایجاد کنید. consoleCopy
    $ nano docker-compose.yml
  4. محتویات زیر را اضافه کنید: yamlCopy
    services:
      traefik:
        image: traefik:latest
        container_name: traefik
        restart: unless-stopped
        environment:
          DOCKER_API_VERSION: "1.44"
        command:
          - "--providers.docker=true"
          - "--providers.docker.exposedbydefault=false"
          - "--entrypoints.web.address=:80"
          - "--entrypoints.websecure.address=:443"
          - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
          - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
          - "--certificatesresolvers.le.acme.httpchallenge=true"
          - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
          - "--certificatesresolvers.le.acme.email=${LETSENCRYPT_EMAIL}"
          - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - ./letsencrypt:/letsencrypt
    
      minio:
        image: minio/minio:latest
        container_name: minio
        restart: unless-stopped
        command: server /data --console-address ":9001"
        environment:
          MINIO_ROOT_USER: ${MINIO_ROOT_USER}
          MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
          MINIO_BROWSER_REDIRECT_URL: https://${DOMAIN_CONSOLE}
        volumes:
          - ./data:/data
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
          interval: 30s
          timeout: 20s
          retries: 3
        labels:
          - "traefik.enable=true"
    
          # Router 1: The S3 API (Port 9000)
          - "traefik.http.routers.minio-api.rule=Host(`${DOMAIN_API}`)"
          - "traefik.http.routers.minio-api.entrypoints=websecure"
          - "traefik.http.routers.minio-api.tls=true"
          - "traefik.http.routers.minio-api.tls.certresolver=le"
          - "traefik.http.routers.minio-api.service=minio-api-svc"
          - "traefik.http.services.minio-api-svc.loadbalancer.server.port=9000"
    
          # Router 2: The Web Console (Port 9001)
          - "traefik.http.routers.minio-console.rule=Host(`${DOMAIN_CONSOLE}`)"
          - "traefik.http.routers.minio-console.entrypoints=websecure"
          - "traefik.http.routers.minio-console.tls=true"
          - "traefik.http.routers.minio-console.tls.certresolver=le"
          - "traefik.http.routers.minio-console.service=minio-console-svc"
          - "traefik.http.services.minio-console-svc.loadbalancer.server.port=9001"

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

    این پیکربندی Docker Compose، MinIO را مستقر کرده و آن را با استفاده از Traefik به صورت ایمن از طریق HTTPS در معرض نمایش قرار می‌دهد. این تنظیمات، S3 API و کنسول وب MinIO را در دامنه‌های مختلف جدا می‌کند و در عین حال تمام مدیریت TLS را در Traefik متمرکز نگه می‌دارد.

    سرویس مینیو

    • ایمیج رسمی minio/minio را اجرا می‌کند و فضای ذخیره‌سازی شیء سازگار با S3 با کارایی بالا را فراهم می‌کند.
    • MinIO را در server mode اجرا می‌کند و تمام اشیاء را در دایرکتوری /data ذخیره می‌کند، که به طور مداوم از ./data روی میزبان mount می‌شود.
    • دو پورت داخلی را در معرض نمایش قرار می‌دهد:
      • 9000 – نقطه پایانی MinIO S3 API (مورد استفاده توسط برنامه‌ها، پشتیبان‌گیری‌ها و کلاینت‌ها).
      • 9001 – کنسول وب MinIO برای مدیریت و نظارت.
    • از متغیرهای محیطی برای موارد زیر استفاده می‌کند:
      • اعتبارنامه‌های دسترسی روت (MINIO_ROOT_USER, MINIO_ROOT_PASSWORD) را تعریف کنید.
      • مقدار MINIO_BROWSER_REDIRECT_URL را طوری تنظیم کنید که کنسول وب به درستی از طریق Traefik و از طریق HTTPS ریدایرکت شود.
    • شامل یک بررسی سلامت است که سلامت داخلی نقطه پایانی MinIO را تأیید می‌کند و به Docker اجازه می‌دهد تا در دسترس بودن سرویس را پیگیری کند.

    ادغام Traefik (از طریق برچسب‌ها)

    • Traefik به طور خودکار MinIO را با استفاده از برچسب‌های Docker کشف می‌کند.
    • دو روتر HTTPS جداگانه تعریف شده‌اند:
      • روتر API MinIO
        • ترافیک ${DOMAIN_API} را به رابط برنامه‌نویسی کاربردی S3 مربوط به MinIO روی پورت ۹۰۰۰ هدایت می‌کند.
        • برای دسترسی برنامه‌نویسی‌شده (SDKها، ابزارهای CLI، پشتیبان‌گیری‌ها) در نظر گرفته شده است.
      • MinIO Console router
        • ترافیک ${DOMAIN_CONSOLE} را به کنسول وب MinIO روی پورت ۹۰۰۱ هدایت می‌کند.
        • برای مدیریت مبتنی بر مرورگر در نظر گرفته شده است.
    • هر دو روتر:
      • به نقطه ورود امن websecure دهید.
      • برای دریافت و تمدید خودکار گواهینامه‌های TLS از Let’s Encrypt (le) استفاده کنید.هر روتر به یک سرویس اختصاصی Traefik متصل می‌شود تا اطمینان حاصل شود که ترافیک به پورت داخلی صحیح هدایت می‌شود.

    traefik service

    • به عنوان پروکسی معکوس و پایانه TLS برای MinIO عمل می‌کند.
    • روی پورت‌های ۸۰ و ۴۴۳ روی میزبان گوش می‌دهد.
    • به طور خودکار ترافیک HTTP را به HTTPS هدایت می‌کند.
    • گواهی‌های Let’s Encrypt ACME را در دایرکتوری ./letsencrypt ذخیره می‌کند.
    • از سوکت داکر (read-only) برای کشف سرویس‌ها و اعمال پویای قوانین مسیریابی استفاده می‌کند.
  5. سرویس‌ها را شروع کنید. consoleCopy
    $ docker compose up -d
  6. تأیید کنید که کانتینرها در حال اجرا هستند. consoleCopy
    $ docker compose ps
    نکته

    برای اطلاعات بیشتر در مورد مدیریت پشته Docker Compose، به مقاله نحوه استفاده از Docker Compose مراجعه کنید.

دسترسی به MinIO

  1. مرورگر وب خود را باز کنید و به دامنه کنسول خود بروید https://console.example.com.
  2. با استفاده از MINIO_ROOT_USER و MINIO_ROOT_PASSWORD که در فایل .env پیکربندی کرده‌اید، وارد سیستم شوید.
  3. در اولین ورود، پنجره‌ی Acknowledge ظاهر می‌شود. برای پذیرش شرایط و رفتن به داشبورد، روی تأیید کلیک کنید.
    نصب و کانفیگ MinIO
    سرور مجازی ایتالیا
  4. پس از ورود موفقیت‌آمیز، داشبورد Buckets بارگذاری می‌شود. اکنون می‌توانید اولین سطل ذخیره‌سازی خود را ایجاد کنید.
  5. برای آزمایش اتصال API، می‌توانید از هر کلاینت سازگار با S3 (مانند s3cmd) با استفاده از جزئیات زیر استفاده کنید:
    • Endpoint: https://s3.example.com
    • Access Key: Value of MINIO_ROOT_USER
    • Secret Key: Value of MINIO_ROOT_PASSWORD

نتیجه گیری

با دنبال کردن این مقاله، شما با موفقیت سرور ذخیره‌سازی شیء MinIO را در اوبونتو ۲۴.۰۴ مستقر کردید. شما Traefik را طوری پیکربندی کردید که به طور ایمن ترافیک را به API S3 و کنسول مدیریت وب هدایت کند. اکنون سرور شما آماده ذخیره داده‌ها برای برنامه‌ها، پشتیبان‌گیری‌ها یا بارهای کاری هوش مصنوعی است. برای اطلاعات بیشتر، به مستندات MinIO مراجعه کنید.

🖼️ تصاویر

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

نصب و کانفیگ MinIO، نحوه استقرار MinIO – سرور ذخیره‌سازی شیء، پیش نیازها، تنظیم ساختار دایرکتوری و متغیرهای محیطی، خرید نصب و کانفیگ MinIO، قیمت نصب و کانفیگ MinIO، بهترین نصب و کانفیگ MinIO

🧩 JSON-LD

{"@context":"https://schema.org","@type":"WebPage","headline":"نصب و کانفیگ MinIO","url":"https://negarnovin.com/docs/how-to-deploy-minio/","datePublished":"2026-02-18T10:41:10+03:30","dateModified":"2026-07-29T12:38:27+03:30","author":{"@type":"Person","name":"نگارنوین"},"publisher":{"@type":"Organization","name":"نگارنوین"},"inLanguage":"fa-IR","description":"نصب و کانفیگ MinIO How to Deploy MinIO MinIO یک سرور ذخیره‌سازی شیء متن‌باز با کارایی بالا است که کاملاً با Amazon S3 API سازگار است"}