اشتراک Microsoft 365 من هر پنی را ارزشمند بود — تا زمانی که اولویتهایم تغییر کرد. من MS Word را با Obsidian بهعنوان برنامه یادداشتبرداریام جایگزین کردم و ناگهان با یک اشتراکی که بهندرت استفاده میکردم، جدا از ۱ TB فضای ذخیرهسازی، گیر کردم.
اشتراک Microsoft 365 من هر پنی ارزش داشت—تا زمانی که اولویتهایم تغییر کرد. من MS Word را با Obsidian به عنوان برنامه یادداشتبرداریام جایگزین کردم و ناگهان با یک اشتراک که بهتازگی بهندرت استفاده میکردم، بهجز 1TB فضای ذخیرهسازی، گیر افتادم.
وقتی لپتاپ قدیمیام را زنده کردم، تصمیم گرفتم خودمیزبانی را امتحان کنم تا ببینم آیا میتوانم سالانه ۱۲۰ دلار از اشتراکم بدون استفاده از NAS پسانداز کنم. بههرحال، یک درایو ذخیرهسازی خارجی، یک کامپیوتر با مشخصات قابلقبول، و یک آخر هفته برای آزمایش داشتم. این کار موفق شد، هرچند که مسیر رسیدن به این نتیجه دلیل واضحی برای ماندن اکثر افراد با ذخیرهسازی مدیریتشده نشان داد. برای من، تعادلهای این کار ارزش داشت.
راهاندازی ابر ترکیبی
ترکیب Nextcloud + Google Drive
![]()
ایده ساده بود. تبدیل لپتاپ دوم من که یک ترابایت فضای SSD داشت، به یک سرور ابر خصوصی با استفاده از Nextcloud و Docker. سپس آن را با 15 گیگابایت فضای رایگان حساب Gmail دوم من برای پشتیبانگیری خارج از سایت ترکیب کردم. به این ترتیب، کنترل محلی بر فایلهایم را دارم بدون اینکه از شبکه امن پشتیبانگیری ابری دست بکشم.
با این راهاندازی، اکثر فایلهایم روی سختافزار خودم میمانند، جایی که کنترل کامل دارم. موارد مهم، مانند سندهای کاری، عکسهای خانواده و پشتیبانگیریهای حیاتی، یک نسخه اضافی در Google Drive دریافت میکنند. این، حداقل بهنظری، باید ۱۲۰ دلار در سال از اشتراک ذخیرهسازی ابری ۱TB من را صرفهجویی کند و شاید در آینده حتی بیشتر.
راهاندازی Nextcloud در Docker
اجرای ابر شخصی خود بر روی ویندوز
برای ایجاد سرور ابری خصوصی خود، به دو چیز نیاز دارید: Nextcloud و Docker.
Nextcloud یک پلتفرم منبع باز و خودمیزبانی است که یک Dropbox یا Google Drive شخصی خودتان را فراهم میکند—بهجز این که بر روی سختافزار شما اجرا میشود. با این حال، اجرای Nextcloud بهصورت بومی با بار سنگین مدیریت وابستگیها همراه است.
برای سادهسازی این فرآیند، میتوانیم از Docker استفاده کنیم. این ابزار تنظیمات را تمیز و قابلانتقال میکند با بستهبندی تمام وابستگیهای Nextcloud در یک کانتینر جداگانه. اگر مشکلی پیش آمد، میتوانید آن را حذف کنید و دوباره از نو شروع کنید بدون اینکه نصب ویندوز شما تحت تأثیر قرار گیرد.
پس، ابتدا باید Docker Desktop for Windows را دانلود و نصب کنیم. در طول نصب، گزینه Use WSL 2-based engine را وقتی پرسیده شد، فعال کنید. پس از راهاندازی Docker Desktop، آیکون آن را در سینی سیستم خود خواهید دید.
سپس PowerShell را باز کنید و با فرمان زیر تأیید کنید که Docker در حال اجراست:
docker --version
یک پوشه برای راهاندازی Nextcloud خود ایجاد کنید (من از
J:\nextcloud
استفاده کردم). داخل آن، فایلی به نام
docker-compose.yml
ایجاد کنید با این پیکربندی:
J:\nextcloud
docker-compose.yml
version: "3.8" services: db: image: mariadb:10.11 restart: always environment: MYSQL_ROOT_PASSWORD: yourpassword MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_PASSWORD: yourpassword volumes: - db:/var/lib/mysql app: image: nextcloud:latest restart: always ports: - "8080:80" depends_on: - db environment: MYSQL_HOST: db MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_PASSWORD: yourpassword volumes: - nextcloud:/var/www/html - ./data:/var/www/html/data volumes: db: nextcloud:
«yourpassword» را با چیزی ایمن جایگزین کنید. سپس در PowerShell به پوشه Nextcloud خود بروید و اجرا کنید:
docker compose up -d
Docker اجزای لازم را دانلود میکند و سرور شما را راهاندازی میکند. این کار ممکن است چند دقیقه طول بکشد، پس یک فنجان قهوه بگیرید.
پس از اتمام نصب، زمان تنظیم سرور Nextcloud شما فرا رسیده است. مرورگر وب خود را باز کنید و به http://localhost:8080 بروید تا صفحهٔ تنظیمات را ببینید.

در اینجا، باید حساب کاربری مدیر خود را ایجاد کنید. سپس Storage & Database را گسترش داده و MySQL/MariaDB را انتخاب کنید.
اطلاعات پایگاه داده را از فایل Docker خود وارد کنید:
- کاربر پایگاه داده: nextcloud
- رمز عبور: (آنچه در فایل docker‑compose.yml تنظیم کردهاید)
- نام پایگاه داده: nextcloud
- میزبان پایگاه داده: db
پس از اتمام، روی Install کلیک کنید. هنگام پرسش، دیالوگ برنامههای پیشنهادی را عبور دهید—شما Nextcloud را صرفاً بهعنوان یک سرور ابری تنظیم میکنید. پس از تکمیل نصب، میتوانید دستگاههای خود (مانند تلفن یا PC) را متصل کنید تا همگامسازی دادهها آغاز شود.
راهاندازی همگامسازی بر روی دستگاههایتان
اتصال تلفن و رایانه شخصی به Nextcloud

برای دسترسی به Nextcloud از دستگاههای دیگر در شبکهتان، به آدرس IP سرور خود نیاز دارید. Command Prompt را باز کنید و اجرا کنید:
ipconfig
برای یک آداپتور Wireless LAN یا Wi‑Fi به دنبال آدرس IPv4 خود بگردید. آدرس من
192.168.1.5
بود، بنابراین سرور Nextcloud من در http://192.168.1.5:8080 قابل دسترسی است.
192.168.1.5
هنگامی که برای اولین بار سعی میکنید به Nextcloud از این IP دسترسی پیدا کنید، احتمالاً پیغام «Access through untrusted domain» را میبینید. این یک ویژگی امنیتی Nextcloud است که دسترسیهای غیرمجاز را جلوگیری میکند.
برای رفع این مشکل، وارد کانتینر Nextcloud خود شوید:
docker exec -it nextcloud-app-1 bash
در صورت نیاز، یک ویرایشگر متن نصب کنید:
apt update && apt install nano -y
فایل پیکربندی را ویرایش کنید:
nano /var/www/html/config/config.php
بخش .env را پیدا کنید و آدرس IP خود را اضافه کنید:
'trusted_domains' => array ( 0 => 'localhost:8080', 1 => '192.168.1.5:8080', ),
فایل را ذخیره کنید (Ctrl+O، Enter، Ctrl+X) و کانتینر را دوباره راهاندازی کنید:
docker compose restart app
حالا میتوانید از هر دستگاهی در شبکهتان با استفاده از آدرس IP به Nextcloud دسترسی داشته باشید. Client دسکتاپ Nextcloud و برنامه موبایلی (Android، iOS) را نصب کنید، سپس با http://192.168.1.5:8080 و اعتبارنامههای مدیر خود متصل شوید. پس از انجام، میتوانید تعیین کنید کدام فایلها همگامسازی شوند و آنها بهصورت خودکار به سرور Nextcloud در لپتاپ شما آپلود میشوند.
راهاندازی Duplicati با Google Drive برای پشتیبانگیری
تنظیم شبکه امنیتی با پشتیبانگیری خودکار

Duplicati handles the backup side of this hybrid setup. این یک برنامهٔ Windows با رابط وب است که زمانبندی پشتیبانگیری به Google Drive را بهسادگی انجام میدهد. بر خلاف ابزارهای خط فرمان، Duplicati یک رابط بصری برای پیکربندی همه چیز، شامل رمزنگاری و سیاستهای نگهداری، فراهم میکند.

Duplicati یک نرمافزار پشتیبانگیری رایگان و منبع باز است که بهصورت ایمن نسخههای پشتیبان فشرده، افزایشی و رمزنگاریشدهٔ فایلها و پوشهها را به سرویسهای ابری یا ذخیرهسازی محلی میفرستد و ویژگیهای زمانبندی و خودکارسازی پیشرفته ارائه میدهد.
Download Duplicati از وبسایت رسمی دریافت و نصب کنید. برای ایجاد یک پشتیبان جدید، روی Add backup کلیک کنید و سپس Configure a new backup. را انتخاب کنید.
نام پشتیبان خود را مثلاً «NextcloudBackup» بگذارید و یک عبارت رمزگذاری تعیین کنید. این عبارت را در جایی امن یادداشت کنید چون برای بازیابی فایلها به آن نیاز خواهید داشت. برای پوشههای منبع،
C:\nextcloud\data
(یا هر مسیری که پوشه دادههای Nextcloud شما در آن است) اضافه کنید.
پوشه C:\nextcloud\data همهٔ مواردی که همگامسازی میکنید را شامل میشود، اما نیازی نیست همه آن را پشتیبان بگیرید. چون حسابهای رایگان Google Drive تنها 15 GB فضای ذخیرهسازی ارائه میدهند، پشتیبانگیری کل پوشه فضا را سریع پر میکند. بهجای آن، یک زیرپوشهٔ اختصاصی (مثلاً C:\NextcloudImportant) برای مهمترین فایلها ایجاد کنید و Duplicati را به آن نشان دهید.
برای مقصد، Google Drive را انتخاب کنید و روی AuthID کلیک کنید. مرورگر شما باز میشود تا به Duplicati دسترسی به حساب Google شما بدهید. باید کد احراز هویت را کپی و پیست کنید تا حسابتان تأیید شود. سپس برنامه زمانبندی را بهصورت روزانه یا هر زمان دلخواه تنظیم کنید. من پشتیبانگیری را ساعت ۲ بامداد اجرا میکنم وقتی کسی از سرور استفاده نمیکند.

برای افزونگی بیشتر، یک کار پشتیبان دوم ساختهام که به درایو سختافزاری خارجی متصل به لپتاپ اشاره میکند. این کار یک نسخهٔ کامل محلی میدهد که در صورت نیاز بازگردانی سریعتر است. بهسادگی یک پیکربندی دیگر در Duplicati ایجاد کنید، اما این بار «Local folder or drive» را بهعنوان مقصد انتخاب کنید و آن را به درایو خارجی خود (مثلاً
E:\NextcloudBackup
) اشاره کنید.
نگهداری را طوری پیکربندی کنید که ۷ نسخهٔ روزانه، ۴ نسخهٔ هفتگی و ۱۲ نسخهٔ ماهانه برای هر دو مقصد حفظ شوند. این کار یک سال نقطهٔ بازگردانی در اختیار شما میگذارد بدون اینکه تمام فضای Google Drive را مصرف کند. به یاد داشته باشید، با Google Drive فقط فایلهای حیاتی را اینجا پشتیبان میگیرید، نه تمام کتابخانهٔ رسانهایتان.
برای پشتیبانگیری مطمئن، باید Nextcloud را در حالت نگهداری (maintenance mode) قرار دهید در حالی که Duplicati اجرا میشود. میتوانید این کار را با اسکریپت سادهای که قبل و بعد از پشتیبانگیری اجرا میشود، خودکار کنید:
docker exec -u www-data nextcloud-app-1 php occ maintenance:mode --on # Duplicati runs backup here docker exec -u www-data nextcloud-app-1 php occ maintenance:mode --off
بهبودهای امنیتی و قابلیت اطمینان برای در نظر گرفتن
تقویت تنظیمات خودمیزبانی برای پایداری بیشتر

در حالی که تنظیمات پایه کار میکند، بهبودهای متعددی وجود دارد که برای امنیت و قابلیت اطمینان بهتر قابلتفکر است.
امنیت سختافزاری: تنظیم فعلی از HTTP بهجای HTTPS استفاده میکند، به این معنی که همهٔ انتقال دادهها رمزنگاری نشده است. افزودن یک پراکسی معکوس مثل Nginx Proxy Manager یا Caddy با گواهینامههای SSL را در نظر بگیرید. همچنین رمزهای پایگاه داده را به یک فایل
.env
جداگانه منتقل کنید بهجای کدنویسی مستقیم در docker‑compose.yml، و احراز هویت دو عاملی را در تنظیمات امنیتی Nextcloud فعال کنید.
استراتژی پشتیبانگیری مناسب: پشتیبان Duplicati فقط پوشه دادهها را پوشش میدهد، نه حجمهای Docker یا پایگاه داده. برای یک پشتیبان کامل، باید دیتابیس MariaDB را با mysqldump استخراج کنید و حجمهای Docker را نیز پشتیبان بگیرید. فرآیند بازگردانی را بهطور منظم تست کنید چون پشتیبانگیری بدون تست فقط امید است، برنامه نیست.
مدیریت بهتر کانتینرها: نامهای صریح به کانتینرها در فایل docker‑compose.yml اضافه کنید تا از نامگذاری خودکار ناهمگونی جلوگیری شود. یک کانتینر کرون برای کارهای پسزمینهٔ Nextcloud تنظیم کنید بهجای تکیه بر AJAX که در نصبهای بزرگ مقیاس ناپایدار است.

پیکربندی شبکه: فایروال ویندوز را برای محدود کردن دسترسی به پورت Nextcloud پیکربندی کنید. اگر به دسترسی از راه دور نیاز دارید، Tailscale یا WireGuard را بهجای فوروارد پورت مستقیم به اینترنت استفاده کنید.
نظارت و نگهداری: نظارت پایهای تنظیم کنید تا وقتی سرور خاموش شد، بهسرعت مطلع شوید. بهروزرسانیهای ویندوز را در ساعتهای کمکار تنظیم کنید تا از راهاندازی ناخواسته جلوگیری شود. چرخش لاگها را فعال کنید تا فضای دیسک مصرف نشود. یک منبع تغذیهٔ اضطراری (UPS) بهسرور وصل کنید تا در قطعیهای کوتاه زمان تامین برق داشته باشید.
این بهبودها زمان و دانش فنی بیشتری میخواهند، اما میتوانند یک پروژهٔ آخر هفته را به یک سیستم تولیدی تبدیل کنند. پیادهسازی آنها بستگی به حساسیت دادههای شما و میزان زمانی که میخواهید به نگهداری اختصاص دهید دارد.
این راهاندازی بدون چالش نیست
درک تعادلهای ذخیرهسازی ابری DIY

بر خلاف OneDrive یا Google Drive، این راهاندازی دسترسی «در هر جایی» واقعی ندارد. فایلهای شما تنها وقتی که در شبکه خانگی هستید یا اگر اتصال از راه دور را پیکربندی کرده باشید، قابل دسترس هستند. تنظیم Tailscale برای اتصال امن از راه دور یک لایهٔ پیچیدگی دیگر اضافه میکند که سرویسهای تجاری بهصورت نامرئی مدیریت میکنند.
لپتاپ شما باید روشن بماند یا حداقل در زمان درخواست بیدار شود. هر بهروزرسانی ویندوز، قطع برق یا سقوط ناگهانی به معنای خروج سرویس ابری شما است. سرویسهای تجاری از سرورهای افزونگی و تیمهای پشتیبانی برای حفظ زمان کارکرد استفاده میکنند؛ در مقابل، شما تمام کارها را مدیریت میکنید.
همچنین زمان صرف میشود. من یک آخر هفته برای راهاندازی این کار صرف کردم (از جمله آزمایش دامنههای سفارشی) و هر ماه یک تا دو ساعت برای نگهداری صرف میکنم تا پشتیبانها، بهروزرسانیهای Docker و رفع مشکلات گاه بهگاه را بررسی کنم. برای کسی که زمان خود را حداقل با دستمزد کارگری میسنجد، این ساعتها بهسرعت برابر با اشتراک ۱۰ دلار در ماه میشود.
علیرغم تعادلها، این راهاندازی ترکیبی برای من کار میکند
این ترکیب ابر سالانه ۱۲۰ دلار من را صرفهجویی میکند، اما ارزش واقعی از درک هزینهٔ واقعی ذخیرهسازی ابری بهدست آمد. راحتیای که ما بهطور ضمنی میپذیریم، شامل همگامسازی فوری، دسترسی همگانی و صفر نگهداری، زیرساختها و تخصص قابلتوجهی میطلبد.
برای من، تعادلها کار میکنند. من از دستکاری تکنولوژی لذت میبرم؛ فایلهایم نیازی به دسترسی دائم از همه جا ندارند و ترجیح میدهم دقیقا بدانم دادههایم کجا هستند. این روش ترکیبی به من امکان میدهد بیشترین حجم دادهها را خودم داشته باشم و فقط برای موارد مهم از ابر استفاده کنم.
من ادعا نمیکنم این جایگزین ابرهای تجاری برای همه باشد. اما اگر با عیبزدایی گاه به گاه راحت باشید و نیازی به همگامسازی کامل در همه جا نداشته باشید، رها کردن فضای ابری پرداختشده برای یک راهاندازی ترکیبی ممکن است برای شما هم کارآمد باشد.