SSD Nodes Learn
راهنماها Matt Connorتوسط Matt Connor · به‌روزرسانی شده 2026-07-24

بهترین اپلیکیشن‌های self-host در سال 2026

لیست منتخب 25 اپلیکیشن برای نصب روی VPS در سال 2026 شامل میزان مصرف واقعی RAM و دیسک و بررسی جایگزین‌ها برای سرویس‌های معروف در قالب Docker.

آنچه در حال ساخت آن هستید

نه یک اپلیکیشن، بلکه فهرستی منتخب. این مرکز اصلی برای تمام موارد دیگر در این سایت است: بیست و پنج اپلیکیشن که واقعاً ارزش اجرا روی VPS شخصی شما را در سال 2026 دارند و بر اساس وظیفه‌ای که انجام می‌دهند گروه‌بندی شده‌اند. برای هر مورد، سرویسی که جایگزین می‌شود، میزان واقعی مصرف RAM و دیسک، و تنها مشکلی که در صورت نادیده گرفتن آن با آن روبرو خواهید شد، ذکر شده است. لینک‌ها به راهنمای کامل و مرحله‌به‌مرحله (در صورت وجود) اشاره دارند.

من 15 سال است که یک هاست VPS را مدیریت می‌کنم و بیشتر این موارد را روی سرورهای خودم اجرا می‌کنم. بنابراین، اعداد منابع در زیر، میزان مصرف واقعی اپلیکیشن تحت یک حجم کاری واقعی و کوچک است، نه حداقل‌های ذکر شده در صفحات تبلیغاتی. این اعداد را به عنوان یک بودجه در نظر بگیرید و سپس مقداری فضای اضافی برای احتیاط در نظر بگیرید.

پیش‌نیازها و واقعیت‌های تلخ

تمام اپلیکیشن‌های اینجا روی یک VPS تازه با سیستم‌عامل Ubuntu 24.04 KVM و دسترسی root یا sudo اجرا می‌شوند. تقریباً همه آن‌ها به صورت Docker container عرضه می‌شوند، بنابراین با نصب یک بار Docker، برای کل این لیست آماده هستید:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world

اگر دستورات docker با خطای permission denied while trying to connect to the Docker daemon socket مواجه شدند، یعنی مرحله گروهی را نادیده گرفته‌اید یا یک shell جدید باز نکرده‌اید؛ از حساب کاربری خارج و دوباره وارد شوید. اگر دستور docker compose خروجی docker: 'compose' is not a docker command داشت، شما نسخه قدیمی و standalone را دارید؛ اسکریپت بالا پلاگین مدرن Compose را نصب می‌کند که با دستور docker compose (یک فاصله، نه خط تیره) فراخوانی می‌شود.

سه واقعیت، ساختار تمام موارد زیر را تعیین می‌کنند. اول، محدودیت اصلی RAM است، نه دیسک یا CPU. یک VPS با 1 GB حافظه فقط یک اپلیکیشن کوچک را اجرا می‌کند و نه هیچ چیز دیگر. 4 GB نقطه طلایی برای سروری است که می‌خواهید "چند چیز را میزبانی کنید". 2 GB یک وضعیت میانی دشوار است که در آن یک مبتدی سرویس سوم را اضافه می‌کند، با خطای بی‌صدا Out-Of-Memory مواجه می‌شود و هرگز متوجه نمی‌شود چرا container ناپدید شده است — sudo dmesg خط Out of memory: Killed process که توسط daemon بلعیده شده را نشان می‌دهد. دوم، هر مورد عمومی به یک نام و گواهینامه (certificate) نیاز دارد — استفاده از IP خام برای تست مناسب است اما به محض اینکه بخواهید از یک اپلیکیشن موبایل یا مرورگر استفاده کنید، با شکست مواجه می‌شوید. سوم، دو پورت نیمی از گزینه‌های شما را تعیین می‌کنند: پورت‌های 80 و 443 باید برای TLS خودکار به سرور دسترسی داشته باشند و پورت خروجی 25 توسط اکثر ارائه‌دهندگان مسدود شده است، به همین دلیل است که ایمیل در لیست "انجام ندهید" در انتها قرار دارد.

فایل‌ها و عکس‌ها

  • Nextcloud جایگزین Google Drive، Dropbox و Google Calendar در یک مجموعه است. بودجه: 1–2 GB RAM به علاوه حجم فایل‌های شما. نکته مهم: استفاده از SQLite برای نسخه دموی برنامه‌ریزی شده است و در محیط عملیاتی یک تله است — از اولین اجرا، آن را روی PostgreSQL نصب کنید، زیرا انتقال دیتابیس پس از ذخیره داده‌ها، رایج‌ترین راه برای خراب کردن Nextcloud است. راهنمای کامل Nextcloud on a VPS with Docker, TLS and backups آن را از همان ابتدا به درستی تنظیم می‌کند.
  • Immich جایگزین Google Photos است، از اپلیکیشن موبایل برای آپلود خودکار عکس‌ها گرفته تا جستجوی چهره و اشیاء. بودجه: 6 GB RAM — مستندات Immich آن را حداقل می‌نامند، اما 8 GB ایده‌آل است؛ بخش پرمصرف، container مربوط به machine-learning است — و فضای دیسک برابر با حجم کتابخانه شما به علاوه حدود بیست درصد برای تصاویر بندانگشتی (thumbnails). نکته مهم: Immich همچنان تغییرات ساختاری (breaking changes) بین نسخه‌ها دارد، بنابراین هرگز بدون بررسی دستور latest را اجرا نکنید؛ نسخه را ثابت (pin) کنید و قبل از هر ارتقا، یادداشت‌های انتشار را بخوانید. راهنمای self-hosted Immich photo library مسیر ارتقای ایمن را پوشش می‌دهد.
  • Seafile جایگزین Dropbox با سریع‌ترین موتور همگام‌سازی در میان این سه مورد است. بودجه: حدود 1 GB RAM. نکته مهم: Seafile فایل‌های شما را به صورت بلوک‌های content-addressed ذخیره می‌کند، نه به صورت فایل‌های ساده در دیسک؛ بنابراین نمی‌توانید داده‌ها را با ls مرور کنید و باید از طریق ابزارهای خود Seafile بک‌آپ بگیرید، نه با کپی کردن یک پوشه.

رمز عبورها

  • Vaultwarden جایگزین نسخه پولی Bitwarden، LastPass و 1Password با یک سرور کوچک Rust است که از پروتکل Bitwarden پشتیبانی می‌کند، بنابراین تمام اپلیکیشن‌ها و افزونه‌های رسمی Bitwarden به راحتی کار می‌کنند. بودجه: 100–200 MB RAM و تقریباً بدون نیاز به دیسک. نکته مهم: این سرور تمام رمزهای عبور شما را نگه می‌دارد، بنابراین TLS و بک‌آپ گرفتن در اینجا اختیاری نیست، بلکه هدف اصلی است — و ADMIN_TOKEN را به صورت Argon2 تنظیم کنید، زیرا یک توکن متنی در فایل compose شما، مانند یک کلید اصلی است که به صورت متن ساده قرار دارد. راهنمای Vaultwarden password manager بهترین شروع برای میزبانی شخصی است.

رسانه‌ها

  • Jellyfin جایگزین Plex و برای کتابخانه شخصی شما، جایگزین Netflix است — کاملاً متن‌باز، بدون نیاز به حساب کاربری یا پرداخت هزینه برای استریم از راه دور. بودجه: 1–2 GB RAM در حالت Idle، اما هنگام ترنسکد کردن (transcode) مصرف CPU به شدت بالا می‌رود. نکته مهم: ترنسکد کردن نرم‌افزاری یک استریم 4K یک VPS کوچک را از کار می‌اندازد؛ یا به سرور شتاب‌دهنده سخت‌افزاری بدهید یا فایل‌های خود را با فرمتی نگه دارید که کلاینت‌ها بتوانند مستقیماً پخش کنند (Direct Play)، تا سرور فقط داده‌ها را ارسال کند. راهنمای Jellyfin media server on a VPS تفاوت این دو را توضیح می‌دهد.
  • Navidrome جایگزین Spotify برای موسیقی‌های شخصی شماست که به هر اپلیکیشن سازگار با Subsonic استریم می‌شود. بودجه: 150–300 MB RAM — این برنامه با Go نوشته شده و مصرف بسیار کمی دارد. نکته مهم: اولین اسکن کتابخانه، تمام تگ‌های فایل‌ها را می‌خواند و در یک مجموعه بزرگ ممکن است یک ساعت طول بکشد؛ تگ‌های ID3 نامناسب باعث تجربه کاربری بد می‌شود.
  • Audiobookshelf جایگزین Audible و اپلیکیشن پادکست شماست و موقعیت پخش را در دستگاه‌های مختلف حفظ می‌کند. بودجه: 200–500 MB RAM. نکته مهم: این برنامه انتظار ساختار پوشه‌بندی دقیق (یک پوشه برای هر کتاب) را دارد و یک پوشه وارد شده نامنظم، منجر به یک کتابخانه ناقص و آشفته می‌شود که اصلاح آن بسیار دشوار است.

اتوماسیون و هوش مصنوعی

  • n8n جایگزین Zapier و Make با یک سازنده جریان کاری بصری است که مالک آن هستید و هزینه پرداخت به ازای هر تسک ندارید. بودجه: 400 MB–1 GB RAM. نکته مهم: n8n اطلاعات حساس ذخیره شده را با کلیدی که در اولین اجرا تولید می‌کند رمزگذاری می‌کند؛ اگر آن کلید را گم کنید — یا فراموش کنید N8N_ENCRYPTION_KEY را تنظیم کنید و اجازه دهید کلید دوباره تولید شود — تمام اطلاعات ذخیره شده غیرقابل خواندن می‌شوند و باید همه را دوباره وارد کنید. راهنمای self-hosted n8n with HTTPS کلید را ثابت نگه می‌دارد و یک گواهینامه واقعی را برای URLهای webhook قرار می‌دهد.
  • Ollama جایگزین اشتراک ChatGPT برای استنتاج محلی و خصوصی LLM است. بودجه بر اساس مدل: یک مدل 7–8B حدود 8 GB RAM نیاز دارد و هر مدل 4–8 GB روی دیسک اشغال می‌کند. نکته مهم: در یک VPS که فقط CPU دارد، سرعت استنتاج کند است — به جای پاسخ‌های آنی، به سرعت کلمه در ثانیه فکر کنید — پس انتظارات خود را تنظیم کنید یا یک سرور با GPU اجاره کنید. راهنمای run Ollama to self-host an LLM اعداد واقع‌بینانه را ارائه می‌دهد.

ارتباطات

  • Rocket.Chat جایگزین Slack برای تیم‌ها، همراه با قابلیت thread، تماس و یکپارچه‌سازی‌ها. بودجه: 2 GB RAM و بالاتر، زیرا روی MongoDB اجرا می‌شود که مصرف منابع بالایی دارد. نکته مهم: Rocket.Chat در هر نسخه به یک نسخه اصلی خاص از MongoDB وابسته است و نادیده گرفتن یک نسخه در هنگام ارتقا باعث از کار افتادن دیتابیس شما می‌شود — مرحله به مرحله ارتقا دهید. راهنمای Rocket.Chat with Docker Compose مراحل ارتقا را توضیح می‌دهد.
  • Matrix (Synapse) جایگزین Slack و Discord با یک شبکه فدرال و با رمزگذاری سرتاسری (end-to-end) است که در آن شما مالک homeserver خود هستید. بودجه: 1–2 GB RAM که با پیوستن به اتاق‌های عمومی بزرگ افزایش می‌یابد. نکته مهم: مصرف حافظه Synapse در اتاق‌های فدرال بزرگ بسیار بالا می‌رود و باید روی PostgreSQL اجرا شود — نسخه پیش‌فرض SQLite فقط برای تست تک‌کاربره مناسب است و به محض فدرال شدن از کار می‌افتد. اگر Synapse سنگین است، سرورهای سبک‌تر مانند Conduit یا Dendrite از همان پروتکل استفاده می‌کنند.

شبکه و دسترسی

  • WireGuard جایگزین VPNهای تجاری است و یک تونل خصوصی به IP خود و سایر سرویس‌هایتان می‌دهد. بودجه: تقریباً صفر — زیر 50 MB و رمزنگاری آن در هسته (kernel) اجرا می‌شود. نکته مهم: در مجازی‌سازی مبتنی بر کانتینر (مانند OpenVZ یا برخی از LXC)، ماژول با خطای RTNETLINK answers: Operation not supported مواجه می‌شود؛ شما به KVM نیاز دارید. راهنمای self-hosted WireGuard VPN مرجع اصلی است؛ ترکیب آن با سرویس‌هایی که به تونل متصل شده‌اند، راهی برای خارج نگه داشتن همه چیز از اینترنت عمومی است.
  • Traefik جایگزین تنظیمات دستی nginx و تمدید دستی گواهینامه‌ها است — این ابزار کانتینرهای شما را از طریق Docker labels شناسایی کرده و گواهینامه‌های Let's Encrypt را به صورت خودکار دریافت می‌کند. بودجه: حدود 100 MB RAM. نکته مهم: مدل پیکربندی مبتنی بر label در ابتدا گیج‌کننده است و یک label اشتباه باعث می‌شود اپلیکیشن بدون هیچ خطای مشخصی در دسترس نباشد. راهنمای Traefik reverse proxy for multiple Docker apps دقیقاً برای اجرای چندین اپلیکیشن از این صفحه پشت یک نقطه ورود ساخته شده است.
  • AdGuard Home جایگزین Pi-hole و فیلترینگ DNS پولی است که تبلیغات و ردیاب‌ها را در لایه DNS برای تمام دستگاه‌های شبکه شما مسدود می‌کند. بودجه: 100–150 MB RAM. نکته مهم: این برنامه نیاز دارد پورت 53 را اشغال کند که با systemd-resolved در Ubuntu تداخل دارد — تا پورت را آزاد نکنید، با خطای listen udp 0.0.0.0:53: bind: address already in use از اجرا باز می‌ماند.

مانیتورینگ

  • Uptime Kuma جایگزین Pingdom، UptimeRobot و StatusPage با یک داشبورد تمیز و هشدار در تقریباً هر کانالی است. بودجه: 150–300 MB RAM. نکته مهم (که همیشه نادیده گرفته می‌شود): سرور تولیدی خود را از یک سرور دیگر مانیتور کنید — Uptime Kuma که روی همان سروری که تحت نظر دارد اجرا می‌شود، نمی‌تواند زمان از کار افتادن آن سرور را به شما اطلاع دهد. راهنمای Uptime Kuma status monitoring نحوه قرارگیری در خارج از سرور را پوشش می‌دهد.
  • Zabbix جایگزین Datadog و مجموعه‌های مانیتورینگ سازمانی است، با متریک‌های عمیق مبتنی بر agent، تریگرها و تاریخچه. بودجه: 2 GB RAM و بالاتر، به علاوه دیتابیس مخصوص خود. نکته مهم: Zabbix قدرتمند است اما راه‌اندازی آن واقعاً سنگین است — برای نظارت بر سه کانتینر بیش از حد نیاز است و ابزار مناسب برای مدیریت یک ناوگان بزرگ است. با Uptime Kuma شروع کنید؛ زمانی که واقعاً زیرساخت‌های بزرگی برای مانیتور کردن داشتید، به سراغ Zabbix monitoring server بروید.

Prometheus و Grafana عمداً در این لیست نیستند: آن‌ها ابزارهای فوق‌العاده برای مقیاس ناوگان هستند، اما اجرای و تنظیم آن‌ها سنگین‌تر از چیزی است که یک مجموعه شخصی از دو یا سه سرور توجیه کند، و Uptime Kuma به همراه Zabbix همان سوالات را در این مقیاس با هزینه نگهداری کمتر پاسخ می‌دهند.

داشبوردها و پنل‌های کنترل

این‌ها مدل کار را کاملاً تغییر می‌دهند — به جای اجرای دستی فایل‌های compose، یک پنل مدیریت اپلیکیشن‌ها را برای شما انجام می‌دهد.

  • Cloudron جایگزین آرزوی "ای کاش این با یک کلیک بود" با یک فروشگاه اپلیکیشن صیقل‌خورده، TLS خودکار و بک‌آپ داخلی است. بودجه: حداقل 2 GB RAM، 4 GB ایده‌آل است. نکته مهم: این برنامه بسیار سخت‌گیر است و می‌خواهد کل سرور را تحت کنترل خود بگیرد، و نسخه رایگان آن فقط تا دو اپلیکیشن است — فراتر از آن یک محصول پولی است.
  • CasaOS جایگزین یک داشبورد آشفته homelab با یک شبکه اپلیکیشن کاربرپسند، رایگان و سبک است. بودجه: حدود 150 تا 300 MB برای خود CasaOS. نکته مهم: این برنامه برای یک شبکه خانگی قابل اعتماد طراحی شده و برای اینترنت عمومی ایمن نشده است — آن را مستقیماً در معرض اینترنت قرار ندهید؛ از طریق WireGuard به آن دسترسی پیدا کنید.
  • Coolify جایگزین Heroku، Vercel و Netlify است — استقرار با git-push، دیتابیس‌ها و پیش‌نمایش‌ها روی سرور خودتان. بودجه: حداقل 2 GB RAM. نکته مهم: این یک پروژه جوان است که با سرعت پیش می‌رود، بنابراین نسخه را ثابت نگه دارید و قبل از ارتقا، یادداشت‌های انتشار را بخوانید. راهنمای Cloudron vs CasaOS vs Coolify comparison بررسی می‌کند که کدام یک از این سه برای چه شخصی مناسب است.

ابزارهای توسعه و بهره‌وری

  • Gitea (یا Forgejo) جایگزین GitHub برای مخازن خصوصی، Issueها و CI است. بودجه: 200–500 MB RAM. نکته مهم: Forgejo نسخه جامعه‌محور Gitea است و بسیاری اکنون آن را توصیه می‌کنند؛ هر دو عالی هستند، اما یکی را انتخاب کنید و هم از مخازن (repositories) و هم از دیتابیس بک‌آپ بگیرید — بک‌آپ گرفتن از مخزن بدون دیتابیس، باعث از دست رفتن تمام issueها و pull requestها می‌شود.
  • Paperless-ngx جایگزین فایل‌های بایگانی و اسکنرهای اسناد پولی است که با OCR همه چیز را اسکن می‌کند تا اسناد شما قابل جستجو شوند. بودجه: حدود 1 GB RAM، با افزایش مصرف CPU در هنگام OCR. نکته مهم: نتایج OCR به کیفیت اسکن‌های شما بستگی دارد و بازپردازش یک آرشیو بزرگ کند است — قبل از وارد کردن انبوه اسناد 10 ساله، آن را تنظیم کنید.
  • Actual Budget جایگزین YNAB و Mint با بودجه‌بندی envelope محلی، سریع و خصوصی است. بودجه: حدود 150 MB RAM. نکته مهم: همگام‌سازی خودکار بانکی یک افزونه جداگانه با تنظیمات خاص خود است، بنابراین در حالت پیش‌فرض، تراکنش‌ها را به صورت دستی وارد می‌کنید.
  • FreshRSS جایگزین Feedly و Google Reader سابق است — یک خواننده فید سریع و خصوصی با اپلیکیشن‌های موبایل. بودجه: حدود 150 MB RAM. نکته مهم: تنظیم refresh فید بر اساس cron را انجام دهید، وگرنه فیدها فقط زمانی که صفحه را باز کنید به‌روز می‌شوند.
  • BookStack جایگزین Notion و Confluence برای مستندسازی است که به صورت قفسه‌ها، کتاب‌ها و صفحات سازماندهی شده است. بودجه: حدود 500 MB RAM روی PHP و MySQL. نکته مهم: این برنامه محتوا را به روش خاص خود سازماندهی می‌کند نه به صورت یادداشت‌های آزاد؛ برخی این را دوست دارند و برخی آن را سخت‌گیرانه می‌بینند — قبل از اینکه کل ویکی خود را به آن اختصاص دهید، آن را امتحان کنید.
  • Home Assistant جایگزین SmartThings و ده‌ها اپلیکیشن سازنده است که خانه هوشمند شما را به صورت محلی یکپارچه می‌کند. بودجه: حدود 1 GB RAM. نکته مهم: بخش زیادی از قابلیت‌های آن نیاز به دسترسی شبکه محلی به دستگاه‌ها دارد، بنابراین بیشتر به صورت طبیعی روی سخت‌افزار در خانه بهتر عمل می‌کند تا یک VPS از راه دور — اگر مجبور هستید، داشبورد را از راه دور اجرا کرده و از طریق یک پل ارتباطی متصل شوید.

یک نصب نمونه

برای ملموس شدن، ساختار کامل یک میزبانی شخصی این است: یک فایل compose، یک گواهینامه واقعی و یک بک‌آپ. این Uptime Kuma است، اما هر اپلیکیشن در این لیست از همین الگو پیروی می‌کند.

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
    restart: unless-stopped
docker compose up -d
docker compose logs -f

به 127.0.0.1: توجه کنید — اپلیکیشن فقط روی localhost گوش می‌دهد و یک reverse proxy مانند Traefik یا nginx در مقابل آن TLS را مدیریت می‌کند. اتصال مستقیم به 0.0.0.0:3001 همان روشی است که باعث می‌شود افراد به اشتباه یک پنل مدیریت بدون رمزنگاری را برای کل اینترنت منتشر کنند.

چه چیزهایی را (هنوز) میزبانی نکنید

  • ایمیل. این صادقانه‌ترین بخش است. پورت خروجی 25 توسط اکثر ارائه‌دهندگان VPS مسدود شده است — شما با Connection timed out از سمت telnet aspmx.l.google.com 25 مواجه خواهید شد و راهی برای رفع آن نیست، این یک سیاست است. حتی با باز بودن پورت 25، یک IP تازه بدون اعتبار، رکورد PTR، SPF، DKIM و DMARC باعث می‌شود ایمیل شما به اسپم برود یا مستقیماً رد شود. این یک شغل مداوم و واقعی است، نه یک پروژه آخر هفته. اگر مصمم هستید، با چشم باز از راهنمای self-hosted email with Mailcow استفاده کنید و انتظار داشته باشید که ماه‌ها درگیر مدیریت قابلیت تحویل ایمیل باشید.
  • هر چیزی که نمی‌توانید با اطمینان بک‌آپ گرفته و بازیابی کنید. اگر هرگز تست بازیابی انجام نداده‌اید، شما بک‌آپ ندارید، شما فقط امیدوار هستید. داده‌های جایگزین‌ناپذیر — تنها نسخه از عکس‌ها یا حساب‌های خود — را تا زمانی که بازیابی آن اثبات نشده، روی یک سرویس قرار ندهید.
  • تنها نسخه از یک وابستگی حیاتی. یک سرور DNS میزبانی شده که با از کار افتادن آن، کل اینترنت شبکه شما قطع شود، پروژه اولیه‌ی بدی است. همیشه یک جایگزین (fallback) داشته باشید.
  • سیستم‌های ایمنی لحظه‌ای. هشدارهای خانه، هشدارهای پزشکی، یا هر چیزی که در آن 5 دقیقه از کار افتادگی یک مشکل واقعی است، نباید روی یک سرور سرگرمی که شب‌های یکشنبه ارتقا می‌دهید، باشد.

چگونه اولین مورد خود را انتخاب کنید و دو مورد غیرقابل مذاکره

اپلیکیشنی را انتخاب کنید که هزینه‌ای که از آن متنفر هستید یا نگرانی حریم خصوصی که واقعاً حس می‌کنید را برطرف کند. در عمل، بهترین نصب‌های اولیه Vaultwarden و Uptime Kuma هستند: هر دو بسیار کوچک هستند، هر دو بلافاصله مفید هستند و هر دو اگر اشتباهی کردید، خطایابی در آن‌ها آسان است. قبل از اضافه کردن مورد دوم، یک مورد را به طور کامل راه‌اندازی کنید — نصب، گواهینامه، بک‌آپ و تست بازیابی. مهارتی که در حال ساخت آن هستید، عملیات (operations) است، نه فقط کلیک کردن روی دکمه نصب.

دو مورد در هر یک از اپلیکیشن‌های بالا، بدون هیچ استثنایی، غیرقابل مذاکره هستند:

  1. TLS برای همه موارد عمومی. یک سرویس با IP خام و بدون رمزنگاری، یک نسخه آزمایشی است، نه یک استقرار واقعی. یک گواهینامه واقعی با Certbot and Let's Encrypt on nginx یا اجازه دهید Traefik آن را به صورت خودکار انجام دهد. سپس درِ ورودی را با Fail2ban for SSH on Ubuntu 24.04 مستحکم کنید.
  2. بک‌آپ‌هایی که واقعاً بازیابی کرده‌اید. یک خروجی (dump) شبانه را خودکار کنید — دیتابیس و حجم داده‌ها را با هم — آن را خارج از سرور ارسال کنید، و ماهی یک بار آن را روی یک VPS موقت بازیابی کنید تا ثابت شود کار می‌کند. روزی که دیسک شما می‌سوزد، روز مناسبی برای کشف این نیست که بک‌آپ شما خالی بوده است.

اگر این دو مورد را درست انجام دهید، میزبانی شخصی یک لذت است. اگر آن‌ها را نادیده بگیرید، این شروع یک شمارش معکوس است.

گزینه‌ها از موارد کاربردی تا موارد مضحک متغیر هستند، از یک Minecraft server on a VPS خانگی گرفته تا، اگر از داستان‌های عبرت‌آموز خوشتان می‌آید، the world's least efficient datacenter.

FAQ

اولین چیزی که باید میزبانی کنم چیست؟

Vaultwarden. یک مدیریت رمز عبور ارزش روزانه دارد، جایگزین یک اشتراک می‌شود و شما را مجبور می‌کند کل گردش کار — Docker، یک reverse proxy، TLS و بک‌آپ‌ها — را روی اپلیکیشنی که اگر خراب شود در ده دقیقه بازسازی می‌شود، یاد بگیرید. Uptime Kuma دومین گزینه عالی است، تا قبل از کاربران خود از قطعی‌ها باخبر شوید.

واقعاً به چقدر VPS نیاز دارم؟

برای یک اپلیکیشن کوچک، 1 GB RAM کافی است. برای یک سرور راحت که "چند چیز را اجرا کند"، 4 GB را هدف قرار دهید — محدوده 2 GB جایی است که افراد با خطاهای بی‌صدای Out-Of-Memory مواجه می‌شوند و نمی‌توانند دلیل آن را بفهمند. محدودیت تقریباً همیشه RAM است؛ دیسک را متناسب با حجم داده‌ای که قصد ذخیره دارید اضافه کنید، و انتظار داشته باشید Immich، Ollama و هر چیزی که دیتابیس بزرگ دارد، بیشترین منابع را بخواهد.

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

ایمیل، در درجه اول — پورت خروجی 25 توسط اکثر ارائه‌دهندگان مسدود شده است و مدیریت قابلیت تحویل آن یک کار تمام‌وقت است. پس از آن، هر چیزی که نمی‌توانید با اطمینان بک‌آپ گرفته و بازیابی کنید، و هر نقطه شکست واحدی که از کار افتادگی آن آسیب واقعی وارد شود، مانند یک سرور DNS بدون جایگزین یا یک سیستم ایمنی خانه. بقیه موارد در این لیست مجاز هستند.

آیا برای همه این‌ها به Docker نیاز دارم؟

خیر، اما بهتر است داشته باشید. هر اپلیکیشن در اینجا یک Docker image دارد و Docker به شما نصب تمیز، حذف تمیز، تعیین نسخه آسان و قابلیت انتقال به یک میزبان جدید را می‌دهد. چند اپلیکیشن (مانند WireGuard و Zabbix) اگر ترجیح دهید، مستقیماً از طریق apt نیز نصب می‌شوند. وقتی یک فایل compose را یاد بگیرید، همه آن‌ها را می‌دانید، به همین دلیل است که کل این لیست قابل یادگیری می‌شود.

چگونه امنیت همه چیز را حفظ کنم؟

چهار عادت بیشتر موارد را پوشش می‌دهد: TLS را در مقابل همه چیز قرار دهید، SSH را با ورود فقط با کلید و Fail2ban banning brute-force attempts محدود کنید، فقط پورت‌هایی را که واقعاً نیاز دارید به صورت عمومی باز بگذارید و بقیه را از طریق WireGuard VPN خود دسترسی پیدا کنید، و به طور منظم با خواندن یادداشت‌های انتشار، سیستم را به‌روزرسانی کنید تا ارتقا هرگز غافلگیرتان نکند. بک‌آپ، عادت پنجم است — آن‌ها راه نجات شما وقتی اشتباهی از چهار مورد اول فرار می‌کند، هستند.

#self-hosting#docker#open-source#vps#homelab