دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
DevOps
  • Folder icon closed Folder open iconDevOps چیست و چرا به وجود آمد؟
  • Folder icon closed Folder open iconتفاوت DevOps با برنامه‌نویسی و مدیریت سیستم
  • Folder icon closed Folder open iconچرخه عمر توسعه نرم‌افزار یا SDLC چیست؟
  • Folder icon closed Folder open iconتفاوت محیط‌های Development، Staging و Production
  • Folder icon closed Folder open iconCI/CD چیست؟
  • Folder icon closed Folder open iconInfrastructure as Code چیست؟
  • Folder icon closed Folder open iconContainer چیست؟
  • Folder icon closed Folder open iconOrchestration چیست؟
  • Folder icon closed Folder open iconObservability چیست؟
  • Folder icon closed Folder open iconVersion Control چیست؟
  • Folder icon closed Folder open iconآموزش نصب Docker در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Docker Compose در لینوکس
  • Folder icon closed Folder open iconآموزش نصب n8n با Docker Compose
  • Folder icon closed Folder open iconآموزش نصب Nextcloud با Docker Compose
  • Folder icon closed Folder open iconآموزش نصب Git در لینوکس
DevOps

آموزش نصب Nextcloud با Docker Compose

آموزش نصب Nextcloud با Docker Compose

مقدمه

Nextcloud یک پلتفرم متن‌باز برای ذخیره‌سازی ابری، اشتراک‌گذاری فایل، همکاری تیمی و همگام‌سازی اطلاعات است. این سرویس امکاناتی مانند مدیریت فایل، تقویم، دفترچه مخاطبین، ویرایش آنلاین اسناد، تماس تصویری، مدیریت کاربران و ده‌ها افزونه دیگر را در اختیار شما قرار می‌دهد.

بهترین روش نصب Nextcloud در محیط Production، استفاده از Docker Compose است. این روش مدیریت سرویس، بروزرسانی و تهیه نسخه پشتیبان را بسیار ساده‌تر می‌کند.

در این مقاله، نسخه Docker Compose همراه با MariaDB و Redis را نصب می‌کنیم که مناسب اکثر محیط‌های عملیاتی است.


پیش‌نیازها

قبل از شروع، موارد زیر باید روی سرور نصب شده باشند:

  • Docker
  • Docker Compose Plugin
  • حداقل ۴ گیگابایت RAM
  • حداقل ۲۰ گیگابایت فضای خالی
  • یک دامنه (در محیط Production)
  • Reverse Proxy مانند Nginx یا Traefik برای SSL

بررسی نصب Docker

docker --version

بررسی Docker Compose

docker compose version

ایجاد پوشه پروژه

mkdir -p ~/nextcloud
cd ~/nextcloud

ایجاد ساختار پوشه‌ها

mkdir app db redis

ایجاد فایل Compose

nano docker-compose.yml

فایل docker-compose.yml

services:

  db:
    image: mariadb:11
    container_name: nextcloud-db
    restart: unless-stopped

    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

    environment:
      MYSQL_ROOT_PASSWORD: passwordtext
      MYSQL_PASSWORD: passwordtext
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud

    volumes:
      - ./db:/var/lib/mysql

  redis:
    image: redis:7-alpine
    container_name: nextcloud-redis
    restart: unless-stopped

    volumes:
      - ./redis:/data

  app:
    image: nextcloud:latest
    container_name: nextcloud
    restart: unless-stopped

    ports:
      - "8080:80"

    depends_on:
      - db
      - redis

    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: passwordtext
      REDIS_HOST: redis

      TZ: Asia/Tehran

    volumes:
      - ./app:/var/www/html

بجای passwordtext یک پسورد قوی تنظیم نمایید.

اجرای سرویس‌ها

docker compose up -d

بررسی وضعیت کانتینرها

docker ps

باید سه Container در حال اجرا باشند:

  • Nextcloud
  • MariaDB
  • Redis

مشاهده لاگ‌ها

docker compose logs -f

ورود به پنل نصب

مرورگر را باز کنید:

http://SERVER-IP:8080

در اولین ورود:

  • Administrator Username
  • Administrator Password
  • Database User
  • Database Password

را وارد کنید.

اطلاعات دیتابیس:

گزینهمقدار
DatabaseMariaDB
Hostdb
Database Namenextcloud
Usernamenextcloud
Passwordپسورد ست شده توسط شما در فایل compose

اجرای خودکار پس از ریبوت

در فایل Compose از گزینه زیر استفاده شده است:

restart: unless-stopped

بنابراین پس از ریبوت سرور، سرویس‌ها به‌صورت خودکار اجرا خواهند شد.


بروزرسانی Nextcloud

دریافت آخرین Imageها:

docker compose pull

اجرای بروزرسانی:

docker compose up -d

در صورت نیاز اجرای Upgrade داخلی:

docker exec -u www-data nextcloud php occ upgrade

تهیه نسخه پشتیبان

پشتیبان از فایل‌ها:

tar -czf nextcloud-files.tar.gz app

پشتیبان از دیتابیس:

docker exec nextcloud-db mysqldump \
-u root \
-ppasstext\
--databases nextcloud > nextcloud-db.sql

توقف سرویس‌ها

docker compose stop

اجرای مجدد

docker compose start

حذف سرویس

docker compose down

همراه با Volumeها:

docker compose down -v

بررسی نسخه Nextcloud

docker exec -u www-data nextcloud php occ status

خطاهای رایج

Cannot connect to database

کانتینر MariaDB هنوز آماده نشده است.

چند دقیقه صبر کرده و مجدداً نصب را انجام دهید.


Internal Server Error

مجوزهای فایل‌ها یا تنظیمات PHP بررسی شود.


Reverse Proxy Warning

در فایل config.php گزینه Trusted Domains و Trusted Proxies تنظیم نشده است.


Redis not available

کانتینر Redis اجرا نشده یا مقدار REDIS_HOST اشتباه است.


بهترین روش‌ها

  • همیشه از MariaDB استفاده کنید.
  • برای Production از Redis استفاده کنید.
  • SSL را با Reverse Proxy فعال کنید.
  • از Backup منظم فایل‌ها و دیتابیس استفاده کنید.
  • قبل از هر بروزرسانی Snapshot یا Backup تهیه کنید.
  • از نسخه‌های پایدار Nextcloud استفاده کنید.

اشتباهات رایج

  • استفاده از SQLite در محیط Production
  • نداشتن Backup
  • عدم استفاده از Redis
  • قرار دادن سرویس بدون SSL روی اینترنت
  • استفاده از رمزهای عبور ضعیف

چک‌لیست

  • Docker نصب شده است.
  • Docker Compose نصب شده است.
  • سه کانتینر اجرا شده‌اند.
  • پنل نصب نمایش داده می‌شود.
  • حساب مدیر ایجاد شده است.
  • MariaDB متصل شده است.
  • Redis فعال است.
  • Backup تهیه شده است.


مطالعات بیشتر

  • Nextcloud Docker Documentation
  • Nextcloud Administration Manual
  • Nextcloud Docker Hub Image
  • آموزش نصب Docker
  • آموزش نصب Docker Compose

جمع‌بندی

استفاده از Docker Compose یکی از بهترین روش‌ها برای راه‌اندازی Nextcloud در لینوکس است. با ترکیب Nextcloud، MariaDB و Redis می‌توانید یک فضای ذخیره‌سازی ابری پایدار، قابل توسعه و مناسب محیط‌های Production ایجاد کنید. برای افزایش امنیت نیز توصیه می‌شود سرویس را پشت Reverse Proxy همراه با SSL اجرا کرده و به‌صورت منظم از فایل‌ها و پایگاه داده نسخه پشتیبان تهیه کنید.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • عیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش نصب Nextcloud با Docker Compose

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام