چگونه خود، میزبان یک ابر مشارکتی با NextCloud  و Docker باشیم؟

شکل۱. پلتفرم NextCloud به شما این امکان را می‌دهد که خودتان ابر مشارکتی خود را میزبانی کنیدمنتشر شده در cloudsavvyit به تاریخ ۱۴جولای، ۲۰۲۱لینک منبع: How to Self-Host a Collaborative Cloud with Nextcloud and Dockerپلتفرم NextCloud یک پلتفرم اشتراک‌گذاری فایل منبع باز و همکاری برای رقابت با خدماتی مانند محیط کاری گوگل و مایکروسافت ۳۶۵ است. پلتفرم NextCloud به شما این امکان را می‌دهد که خودتان ابر مشارکتی خود را میزبانی کنید، بنابراین نیازی نیست که خودتان را به یک ارائه‌دهنده عمومی محدود کنید.نصب منظم NextCloud می‌تواند زمان بر باشد. پلتفرم NextCloud بر روی پشته LAMP کلاسیک ساخته شده‌است، بنابراین شما به Apache ، PHP، و MySQL، هر کدام با پیش‌نیازهای خاص خود نیاز دارید. این می‌تواند حفظ نصب و یا استفاده از آن در کنار بارهای کاری دیگر بر روی سرور شما را دشوار کند.اجرای NextCloud به عنوان یک محتوی Docker، روند راه‌اندازی را ساده می‌کند و به شما اجازه می‌دهد تا نصب را از دیگر برنامه‌های خود جدا کنید. پلتفرم NextCloud یک تصویر Docker رسمی دارد، که در این مقاله بر روی آن تمرکز خواهیم کرد. پروژه جامعه linuxserver نیز تصویر خود را با برخی از پیش‌فرض‌های از پیش پیکربندی شده ارائه می‌دهد.برنامه‌ریزی برای برپاسازیتصویر داکر NextCloud با راه‌اندازی سرور وب عملکردی به دست می‌آید. شما Apache، PHP، و یک نصب NextCloud از پیش پیکربندی شده را دریافت خواهید کرد. یک پایگاه‌داده SQL به طور پیش‌فرض استفاده می‌شود.در حالی که یک Docker پایه d -p ۸۰:۸۰- پلتفرم NextCloud را اجرا می‌کند یک سرور آماده‌ی اجرا را ایجاد خواهد کرد، این شامل ارائه برای ذخیره‌سازی مداوم نیست. مهم‌ترین جنبه استقرار NextCloud داکر شده، پیکربندی صحیح حجم است به طوری که داده‌های خود را از دست ندهید.علاوه بر این، پایگاه‌داده SQL Lite استاندارد تنها برای استفاده در مقیاس کوچک مناسب است. اگر می‌خواهید بیش از چند کاربر داشته باشید، تامین یک پایگاه‌داده MySQL یا PostgreSQL عملکرد را بهبود خواهد بخشید.بیایید اکنون یک نصب Nextcloud داکر شده ایجاد کنیم که باMySQL اجرا شود و از حجم Docker برای ایمن نگه داشتن اطلاعات شما استفاده کند. اگر ترجیح می‌دهید از PostgreSQL استفاده کنید، منابع جایگزین به MySQL در زیر را با همتایانPostgreSQL آن‌ها جایگزین کنید.تنظیم شدنشما می‌توانید NextCloud را با استفاده از دستورهای CLI داکر پایه گسترش دهید. با این حال، این کار به سرعت خسته‌کننده می‌شود و به یاد آوردن آن در آینده دشوار نیست. در عوض، استفاده از دستور‌العمل داکر به شما اجازه می‌دهد تا پیکربندی خود را به عنوان یک کد تعریف کنید.اطمینان حاصل کنید که داکر و دستور داکر را بر روی سیستم خود نصب کرده‌اید. یک شاخه جدید برای نگه داشتن فایل‌های پیکربندی NextCloud ایجاد کنید. یک فایلdocker-Compose.yml اضافه کنید و در محتویات زیر پیست کنید:version: "3"services:nextcloud:image: nextcloud:latestrestart: unless-stoppedports:- 80:80environment:- MYSQL_HOST=mysql- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloud- MYSQL_PASSWORD=nextcloudvolumes:- nextcloud:/var/www/htmlmysql:image: mysql:8.0restart: unless-stoppedenvironment:- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloud- MYSQL_PASSWORD=nextcloud- MYSQL_ROOT_PASSWORD=nextcloudvolumes:- mysql:/var/lib/mysqlvolumes:mysql:nextcloud:این فایل ترکیب‌بندی تمام تنظیمات را برای نصب ایمنNextCloud در خود جای می‌دهد. این برنامه یک پایگاه‌داده MySQL را فراهم می‌کند وNextCloud را برای اتصال به آن پیکربندی می‌کند. شما باید MYSQL _ PASSWORD و MYSQL _ ROOT _ PASSWORD را برای حفظ ارزش‌های سفارشی تنظیم کنید.دایرکتوری کامل /var/www/html به عنوان یک حجم داکر نصب شده‌است. منابع NextCloud، تنظیمات و داده‌های کاربر خود را در اینجا ذخیره می‌کند. با تبدیل کل دایرکتوری به یک حجم، خود به‌روزرسانی NextCloud به درستی کار خواهد کرد. در غیر این صورت، شما باید یک تصویر نگهدار جدید برای به‌روزرسانی بکشید، چون خود-به‌روزرسانی قادر به جایگزین کردن مداوم فایل‌های NextCloud نخواهد بود.کارگزار NextCloud به طور پیش‌فرض به پورت ۸۰ روی دستگاه شما متصل خواهد شد. شما می‌توانید از یک پورت متفاوت، مانند ۸۰۸۰، با به‌روزرسانی پیکربندی پورت استفاده کنید:۸۰۸۰:۸۰ -در حال حاضر، شما آماده هستید تا NextCloud را با دستور‌العمل داکر به کار ببرید:docker-compose up -dدر حالی که Compose تصاویر را می‌کشد و کانتینرهای شما را شروع می‌کند، صبر کنید. سپس می‌توانید با بازدید از منطقه میزبان در مرورگر خود به NextCloud دسترسی پیدا کنید.اولین اجرااولین باری که از NextCloud بازدید می‌کنید، به شما نشان داده خواهد شد که تنظیمات پیش‌فرض را دارید. یک نام کاربری و گذرواژه برای حساب کاربری اول خود وارد کنید. اگر می‌خواهید برخی برنامه‌های اصلی، از جمله تقویم، تماس‌ها، و تماس‌های NextCloud Talk را نصب کنید، کادر «نصب برنامه‌های توصیه‌شده» را علامت بزنید.برای تکمیل روند نصب روی «تنظیم نهایی» کلیک کنید. ممکن است چند لحظه طول بکشد تا برنامه‌ها نصب شوند. تب مرورگر خود را ببندید تا تنظیمات کامل شود. هنگامی که NextCloud آماده شد، یک مجموعه سریع از شروع اسلایدها به شما نشان داده خواهد شد. سپس شما به داشبورد NextCloud برده خواهید شد.داشبورد یک نمای متمرکز از دارایی‌های ابری شما ارائه می‌دهد. برنامه‌های فردی می‌توانند محتوای روی داشبورد را نشان دهند. شما می‌توانید با استفاده از آیکون های گوشه سمت چپ بالا به تمام برنامه‌های خود برسید.برای نصب برنامه‌های اضافی، بر روی آیکون پروفایل کاربری خود در گوشه بالا سمت راست کلیک کنید. از منو «Apps» را انتخاب کنید. برای دیدن تمام برنامه‌های موجود روی یکی از دسته‌های موجود در نوار کناری سمت چپ کلیک کنید."بارگیری و فعال کردن" را در زیر کارت هر برنامه فشار دهید تا آن را به نمونه Nextcloud خود اضافه کنید.تنظیمات مدیریت فضای NextCloud با کلیک بر روی آیکون پروفایل کاربر و انتخاب «تنظیمات» در منو پیدا می‌شود. برای پیدا کردن امکانات مدیریتی روی لینک‌های تحت «مدیریت» در نوار کناری سمت چپ کلیک کنید. نسخهNextCloud شما و به‌روزرسانی های موجود در صفحه «Overview» نمایش داده می‌شوند.برخی از وظایف مدیریت NextCloud از طریق باینری خط فرمان occ اعمال می‌شوند. این یک اسکریپت PHP در منبعNextCloud است.با استفاده از docker compose exec بدون اتصال کامل به کانتینر می‌توانید با OCC ارتباط برقرار کنیدdocker-compose exec --user www-data php occ occ-command-hereمهم است که پرچم کاربر را در نظر بگیریم تا OCC همانند رابط وبNextCloud اجرا شود. در غیر این صورت ممکن است با خطاهای مالکیت سیستم فایل و اجازه‌ها مواجه شوید.خودکارسازی پیکربندیهنگام راه‌اندازی کانتینر، بسیاری از تنظیمات مدیریتNextcloud می‌توانند از پیش تعیین شده باشند.فراتر از راه‌اندازی پایگاه‌داده، تصویر متغیرهای محیطی را برای پیکربندی یک سیستم نامه، اتصال به ذخیره‌سازی شی از راه دور، و ایجاد خودکار یک کاربر مدیر اولیه را پشتیبانی می‌کند.هنگام تهیه این مقادیر، نیازی به ارائه آن‌ها به اولین راه اندازی برنامه راهنما نیست.به عنوان یک جایگزین برای متغیرهای محیطی، شما می‌توانید از اسرار داکر برای تنظیم ارزش‌ها به شیوه‌ای آگاهانه‌تر استفاده کنید. ارزش‌های خود را به فایل‌ها اضافه کنید و آن‌ها را با استفاده از کلید رمز در ترکیب‌بندی، در ظرف قرار دهید. سپس بخش محیط را به‌روزرسانی کنید تا فایل‌های محرمانه تزریق‌شده را بخوانید.services:nextcloud:environment:- NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_passwordsecrets:nextcloud_admin_password:file: ./nextcloud_admin_passwordزمانی که از کلمه عبور سری استفاده می‌کنید، هر متغیر محیط ابریNextCloud باید به نام خود ضمیمه شده‌باشد.این امر به NextCloud دستور می‌دهد تا مقدار را از مسیر فایل مرجع دریافت کند.امنیت تصویر استاندارد داکر، SSL را به طور پیش‌فرض تنظیم نمی‌کند. توصیه می‌شود که در پشت یک پروکسی معکوس خاتمه SSL مانند Apache، Ngnx، یا Traefik مستقر شوید.سپس باید درخواست‌های خود را به ظرف NextCloud ارسال کنید. تصویر داکر به طور خودکار با درخواست‌هایی کار می‌کند که از فضاهای آدرس ۷۲/ ۱۰.۰.۰.۸، ۱۲/۱۷۲.۱۶.۰.۰ و ۱۶/0.0.۱۹۲.۱۶۸ ارائه شده‌اند کار می‌کند. اگر سرور پروکسی شما یکIP متفاوت دارد، باید آن را به متغیر محیطی TRUSTED _ PROXIS در هنگام استقرار NextCloud اضافه کنید. همچنین باید APACHE_DISABLE_REWRITE_IP=1 را تنظیم کنید.این مراحل اطمینان حاصل می‌کنند که NextCloud به درستی بازنویسی را مدیریت خواهد کرد. دستورالعمل‌های استفاده از تصویر داکر شامل راهنمایی بیشتر در مورد استفاده از NextCloud با یک پروکسی است. با استفاده از صفحهOverview در مرکز مدیریت می‌توانید بررسی کنید که آیا نصب شما به درستی نصب شده است.مدیریت به‌روزرسانی‌های NextCloudهنگامی که شما NextCloud را با فایل ترکیب‌بندی بالا گسترش دادید، باید قادر به استفاده از خود به‌روزرسانی در مرکز مدیریت برای به‌روزرسانی NextCloud باشید. به یاد داشته باشید که این کار تنها آخرین منبع NextCloud را برای شما به ارمغان خواهد آورد -ظرف مربوطه یکسان باقی خواهد ماند.ایده خوبی است که هر چند وقت یک‌بار یک تصویر داکر جدید بکشید. این کار به شما کمک می‌کند از به کار بردن بسته‌های قدیمی OS اجتناب کنید که می‌تواند یک خطر امنیتی باشد.اگر از Docker Compose استفاده می کنید، می توانید آن را با کشیدن پرچم دوباره اجرا کنید.داکر کامپوز به طور خودکار تصویر جدید را می‌کشد و در صورت نیاز ظرف فعلی شما را جایگزین می‌کند.docker-compose up -d --pullنتیجه‌گیریاجرای یک سرور NextCloud به شما کنترل کامل بر روی فایل‌هایتان را می‌دهد. فراتر از اشتراک فایل ساده، NextCloud اکوسیستم کاملی از برنامه‌های کاربردی بهره‌وری را فراهم می‌کند. شما ایمیل، تقویم، یادداشت‌ها، و سیستم‌‎های وظیفه و همچنین یک راه‌حل کامل صدا و تماس ویدیویی را پیدا خواهید کرد.استفاده از NextCloud با داکر، روند راه‌اندازی را ساده می‌کند و از آلوده کردن میزبان خود با یک پشته LAMP فلزی ساده جلوگیری می‌کند. هنگامی که NextCloud نصب شد، شما قادر به اتصال از هر یک از مشتریان دسکتاپ پشتیبانی شده و همگام‌سازی تلفن همراه خواهید بود.ما تنها اصول به دست آوردن یک سرور NextCloud را پوشش داده‌ایم. اگر می‌خواهید درباره نصب برنامه‌ها و حفظ نصب بیشتر بدانید، کتابچه راهنمای مدیریت Nextcloud دستورالعمل‌های جامعی را ارائه می‌دهد.این متن با استفاده از ربات مترجم مقالات تکنولوژی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.