چند دهه پیش، اگر از من بپرسید سرور چیست، پاسخ میدادم «چندین دستگاه و یک برج پر از فن». این همیشه درست نیست، بهویژه اکنون که یک رایانه شخصی کوچک به اندازهای قدرتمند است که بتواند یک سرور خانگی را اجرا کند. من چند سال اخیر را صرف ساخت سرورها کردهام و بهخصوص از ساخت یک سرور روی یک مینیپیسی ارزان لذت بردهام.
چند دهه پیش، اگر از من بپرسید یک سرور چیست، پاسخ میدادم «چندین دستگاه و یک برج پر از فن». این همیشه چنین نیست، بهویژه اکنون که یک PC کوچک به اندازه کافی بزرگ است تا یک سرور خانگی را اجرا کند. من چند سال اخیر را به ساخت سرورها اختصاص دادم و بهویژه از ساخت یک سرور بر روی یک مینیپیسی ارزان لذت بردم.
من یک HP Office Mini PC با یک Core i7 متوسط، 8 گیگابایت رم و یک SSD به دست آوردم. لینوکس مینت را روی آن نصب کردم — several lightweight distros would have worked — و آن را با برخی از ابزارهای محبوبم تنظیم کردم. این ابزارها کامپیوترم را به یک سرور برای پشتیبانگیری، همگامسازی فایلها، دسترسی از راه دور و موارد دیگر تبدیل کردند.
Webmin
مرکز کنترل وبمحور

اگر به کنترل ورودی و خروجی سطح شبکه برای یک رایانه خاص نیاز دارید، Webmin ابزار شماست. با یک مرورگر در همان شبکه، من مینیپیسی خود را کنترل میکنم — مدیریت کاربران، پیکربندی سرورها، زمانبندی کارهای کرون و مرور فایلهای آن.
این رابط وبمحور برای مدیریت سیستم برای تنظیم سبک من ایدهآل است زیرا فقط ۵۰ تا ۱۰۰ مگابایت RAM در حالت بیکاری مصرف میکند و استفاده از CPU تقریباً ناچیز است. برای کارهای خاص مانند نظارت بر لاگهای سیستم و پیکربندی Apache، من از رابط متمرکز آن بهره میبرم که حواسپرتیها را حذف کرده و بهرهوری مرا حفظ میکند.
سادگی آن باعث میشود یک ابزار مدیریت واقعی باشد. با برچسبهای واضح برای وظایف عمومی، حتی یک کاربر مبتدی میتواند به راحتی حرکت کند. همچنین به من امکان انجام کارهای پیشرفته مانند بررسی سینتکس را میدهد چون دسترسی مستقیم به فایلهای پیکربندی را فراهم میکند. این به من اجازه میدهد زمان بیشتری را به مدیریت واقعی زیرساخت اختصاص دهم تا بهجای مقابله با دستورات SSH.
Webmin یک برنامه متنباز است که برای مدیریت سرورهای لینوکسی بهصورت وبمحور استفاده میشود. این برنامه ابزارهایی برای مدیریت کاربران، Apache، DNS و سیستمهای فایل ارائه میدهد.

Tailscale
دسترسی از راه دور با پیکربندی کم

من دائماً در حال حرکت هستم و این باعث میشود سرور خانگی بیفایده به نظر برسد؛ اگر نتوانم از هرجای دنیا به آن دسترسی داشته باشم، بیارزش است. Tailscale یک راهحل کامل است. این پلتفرم ارتباطی از WireGuard برای ایجاد یک شبکه مش استفاده میکند. بهترین بخش این است که نیازی به فورواردینگ پورت یا تنظیمات فایروال ندارد. با طرح رایگان آن میتوانم ۳ کاربر داشته باشم و تا ۱۰۰ دستگاه را متصل کنم.
من ویژگی Taildrop را دوست دارم که مشابه AirDrop است. با یک عمل کشیدن و رها کردن ساده، فایلها را از تلفن همراه به مینیپیسی منتقل میکنم. چیزی که Tailscale را برای تنظیم سبک من مناسب میکند این است که بهعنوان یک سرویس پسزمینهٔ کوچک با مصرف منابع حداقلی کار میکند.
با داشتن برخی دانشهای شبکه، میتوانید از Tailscale برای در دسترس قرار دادن سرویسها تحت یک نام دامنه استفاده کنید. میتوانید از WireGuard یا OpenVPN میزبانیشده بهعنوان جایگزینهای Tailscale استفاده کنید؛ اما هیچیک بهسادگی آن نیستند. Tailscale پیکربندی امنیتی دستی را ساده میکند.

Tailscale یک ابزار دسترسی از راه دور مبتنی بر VPN و بدون نیاز به پیکربندی است. این ابزار بر پایه پروتکل WireGuard ساخته شده و ارتباطات نقطه به نقطه بین دستگاهها را بدون توجه به مکان ایجاد میکند.
Restic
پشتیبانگیریهای قابل اعتماد و رمزگذاری شده
Restic گزینهٔ پشتیبانگیری ابری مورد علاقهٔ من در لینوکس است. من از Borg برای فشردهسازی قوی و حذف تکرار، همچنین برای پشتیبانگیری افزایشی استفاده کردهام. با این حال، پشتیبانگیری اولیهٔ Restic بهطور قابل توجهی سریعتر است. این ابزار مجموعههای دادهٔ بزرگ را در حدود نیمی از زمانی که Borg نیاز دارد، پشتیبانگیری میکند. اما چیزی که Restic را متمایز میکند این است که یکی از آسانترین راهحلهای پشتیبانگیری برای استفاده است.
من از آن برای پشتیبانگیری مستقیم به درایوهای محلی، S3 یا ذخیرهسازی ابری Backblaze B2 استفاده میکنم. لایهٔ Autorestic آن خودکارسازی با کارهای کرون را آسان میکند، بنابراین میتوانم آن را به عنوان یک راهحل «اجرا و فراموش کن» به کار ببرم. این ابزار برای دستگاه ارزان من ایدهآل است چون در حین پشتیبانگیری حدود ۵۰ تا ۸۰ مگابایت RAM مصرف میکند و استفاده از CPU را تا حد امکان کم نگه میدارد، مگر زمانی که لازم باشد فایلهای بزرگ پردازش شوند.

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

با همگامسازی همتا‑به‑همتا، Syncthing جایگزین ذخیرهسازی ابری میشود. من از آن برای تبدیل رایانهام به یک صندوقمانهٔ همیشه فعال برای فایلها استفاده میکنم. دادهها رمزگذاری میمانند و من کنترل کامل را حفظ میکنم. برای پیکربندی و مانیتورینگ، Syncthing یک وبGUI کوچک (رابط گرافیکی) اجرا میکند و نیازی به وبسرور کامل ندارد.
این گزینه بسیار قابل اعتماد است بهطوری که حتی وقتی مینیپیسی من آفلاین است، دستگاههای دیگر به همگامسازی ادامه میدهند. هر تغییری بهصورت خودکار وقتی رایانه دوباره آنلاین میشود، بهروز میگردد. همچنین مصرف منابع کمی دارد، اثر CPU حداقلی است و در حالت بیکاری حدود ۳۰ تا ۵۰ مگابایت RAM مصرف میکند. این گزینه بسیار سادهتر از Nextcloud است و برای همگامسازی سریع و خصوصی فایلها ایدهآل است.

Syncthing یک ابزار منبع باز برای همگامسازی مداوم فایلهاست. این ابزار به شما امکان همگامسازی و اشتراکگذاری فایلها بین چندین دستگاه را میدهد.
ntfy
مرکز اعلان هوشمند سرور

ntfy سیستمی است که برای اعلانها نصب کردهام. این سیستم مرا نسبت به رویدادهای امنیتی، هشدارهای سلامت، تکمیل خودکارسازی یا تغییرات شبکه مطلع میکند بدون اینکه دادهها را به سرویسهای شخص ثالث ارسال کند. من این اعلانها را طوری پیکربندی میکنم که به تلفن، مرورگر یا حتی سرورهای دیگر تحویل داده شوند.
در حالت بیکاری حدود ۱۵ تا ۲۵ مگابایت RAM مصرف میکند و تنها زمانی بیدار میشود که رویدادی ارسال کنم. رابط وب، تاریخچهٔ پیامهای پایه و پیکربندی موضوعات را نشان میدهد، در حالیکه برنامهٔ موبایلی به من امکان ارسال پیامها را میدهد.
این یک روش عملی برای متمرکز کردن اعلانها از ابزارهای دیگر است که استفاده میکنم، شامل Restic، Uptime Kuma و اسکریپتهای سفارشی. یک راه حل جایگزین میتواند استفاده از یک داشبورد میزبانیشدهٔ تک برای جایگزینی تمام سامانهٔ نظارت شما باشد.

ntfy یک سرویس اعلان مبتنی بر Pub‑Sub HTTP و منبع باز است. این سرویس به شما امکان ارسال اعلانهای push به تلفنها یا دسکتاپها را از طریق درخواستهای سادهٔ PUT/POST میدهد.
Caddy
دسترسی خودکار HTTPS

Caddy ابزاری مدرن و کمحجم برای معکوس پراکسی است که استفاده میکنم. این ابزار دسترسی سطح حرفهای برای سرورم فراهم میکند و به پیکربندی حداقلی نیاز دارد.
اشتراك در خبرنامه برای نکات سرورهای سبک
این ابزار فراهمسازی خودکار HTTPS از طریق Let’s Encrypt را دارد. این قابلیت به Caddy اجازه میدهد تا گواهیهای من را زمانی که دامنه یا زیر دامنهام را به یک سرویس ارجاع میدهم، مدیریت کند و دسترسی ایمن به سرویسهای دیگر مانند Webmin، Syncthing و ntfy را بدون تنظیم دستی TLS فراهم آورد.
در حالت بیکاری حدود ۴۰ تا ۶۰ مگابایت RAM مصرف میکند و به من امکان تعریف مسیرها در یک Caddyfile کوچک و خوانا را میدهد. در مقایسه با گزینههای دیگری همچون Nginx، زمان پیکربندی و مدیریت گواهیها را بهمرات کمتر میگیرد.

Caddy یک وبسرور منبع باز است. این ابزار بهعنوان یک معکوس پراکسی قدرتمند با HTTPS خودکار عمل میکند.

فقط در صورتی که روز شما بهطور معجزهآسا ۲۶ ساعت زمان داشته باشد، این کارهای روزمره را بهصورت دستی ادامه دهید.
این تنظیم با شما رشد میکند، نه علیه شما
A mini PC is perfect for reproducing this setup. But the best part is that it’s very flexible. I didn’t install all these tools at once. I tried several others, removed those I didn’t like, and added new ones I preferred.
این ضروری است که استک شما بتواند با شما رشد کند زیرا سرورهای خانگی بهصورت ارگانیک رشد میکنند و هوشمندانهتر است که از یک مجموعه ابزار انعطافپذیر استفاده کنید تا از ابزاری که باید از روز اول چشمنواز باشد.