Другое жыццё жалеза: Падымаем хатні сервер на Ubuntu (без пакут, але не дакладна)

Прывітанне! Мы ўжо разабралі Джэнтльменскі набор кантэйнераў, якія робяць жыццё прасцейшым. Але засталося галоўнае пытанне: "А дзе гэта ўсё запускаць?"
Купляць дарагі сервер? Арандаваць магутнасці ў воблаку? Не. Сёння мы пойдзем іншым шляхам. Мы возьмем тое, што ў вас, хутчэй за ўсё, ужо ёсць, і зробім з гэтага цукерку.
Частка 1. Бітва фарматаў: Што абраць?
Самае частае памылковае меркаванне: "Мне патрэбна спецыяльнае сервернае абсталяванне". Насамрэч, для хатніх задач (NextCloud, Jellyfin, Home Assistant) магутнасці звычайнага камп'ютара 5-7 гадовай даўніны хопіць з лішкам.
Давайце разгледзім тры асноўныя варыянты:
1. Стары ноўтбук (The King of Home Lab)
У многіх ляжыць без справы стары ноўтбук са зламаным экранам або проста "тармазны" для гульняў. Чаму гэта ідэальны варыянт:
- Убудаваны UPS: Батарэя, нават калі яна трымае 10 хвілін, выратуе вашу файлавую сістэму пры раптоўным адключэнні святла. Гэта фіча, за якую ў дарослых серверах плацяць сотні даляраў.
- Усё ў адным: Вам не трэба шукаць манітор і клавіятуру, каб наладзіць BIOS ці пераўстанавіць сістэму.
- Бясплатна: Ён ужо ваш.
Нюансы: Трэба сачыць за ахалоджваннем (пачысціце яго ад пылу!) і цяжка дадаць другі жорсткі дыск.
2. Міні-ПК (USFF — Ultra Small Form Factor)
Гэта карпаратыўныя малышы кшталту Lenovo ThinkCentre Tiny, Dell OptiPlex Micro або HP EliteDesk Mini. Іх масава спісваюць офісы, і на барахолках іх поўна па $50-150. Чаму гэта крута:
- Надзейнасць: Яны спраектаваны працаваць 24/7 гадамі.
- Эстэтыка: Маленькая, ціхая скрыначка, якая прыгожа выглядае на паліцы.
- Апгрэйд: Лёгка адкрыць крышку, дадаць RAM або замяніць SSD.
напрыклад bel-geek зараз размешчаны на ім.
Нюансы: Вам спатрэбіцца знешні манітор для першай наладкі і асобны UPS, калі ў вас скача напруга.
3. Чаму НЕ Raspberry Pi?
Яшчэ пару год таму "малінка" была каралём самаробак. Але сёння:
- Кошт: Камплект Raspberry Pi 4/5 з корпусам, блокам сілкавання і добрай SD-карткай каштуе як б/у Міні-ПК на i5 працэсары.
- SD-карткі: Яны паміраюць. Гэта факт. Для надзейнага сервера трэба мудраваць з SSD праз USB.
- Архітэктура: ARM — гэта добра, але часам вы знойдзеце патрэбны Docker-кантэйнер, а ён сабраны толькі пад x86 (звычайныя працэсары). Гэта боль.
Вердыкт: Калі ёсць стары ноўтбук — пачынайце з яго. Калі хочаце прыгожа і ёсць $100 — бярыце Міні-ПК.
Частка 2. Выбар АС: Desktop ці Server?
Гэта месца, дзе ламаюцца дзіды на форумах. "Сапраўдныя адміны" скажуць вам ставіць Ubuntu Server (або Debian), дзе няма нічога, акрамя чорнага экрана з тэрміналам.
Я скажу іншае: Стаўце Ubuntu Desktop (звычайную версію).
Чаму? Таму што мы робім хатні сервер для сябе, а не для карпарацыі.
- Камфорт: Калі ў вас адваліцца сетка, вы зможаце падысці да сервера, узяць мышку і паглядзець логі ў зручным акне, або проста адкрыць браўзер і пагугліць праблему прама на серверы.
- Wi-Fi: Наладзіць Wi-Fi праз тэрмінальны Netplan — тое яшчэ задавальненне для пачаткоўца. У Desktop версіі вы проста клікаеце па значку Wi-Fi.
- Кошт рэсурсаў: Так, графічны інтэрфейс з'есць лішні 1 ГБ аператыўнай памяці. Але калі ў вас 8 ГБ RAM (стандарт для старога ноўта), вы гэтага нават не заўважыце. Зручнасць важнейшая за гэты гігабайт.
Частка 3. Падрыхтоўка і BIOS
Перад тым як ставіць сістэму, трэба крыху "пашаманіць" у BIOS (націскайце F2, Del або F12 пры ўключэнні):
- Virtualization Technology (VT-x / AMD-V): ENABLE. Гэта крытычна важна для працы Docker. Без гэтага нічога не паляціць.
- Power on after power loss: (Для Міні-ПК) ON. Калі электрычнасць знікне і з'явіцца, сервер павінен сам уключыцца. У ноўтбукаў гэтай опцыі часта няма, але там ёсць батарэя.
- Wake on LAN: ON. Карысна, калі вы захочаце ўключыць сервер аддалена (не рабіў так ніколі).
Важна: Калі вы выкарыстоўваеце стары ноўтбук або ПК, не палянуйцеся разабраць яго, пачысціць ад пылу і замяніць тэрмапасту. Ён будзе працаваць 24/7, і перагрэў нам не патрэбен, але і перагрэць такое трэба яшчэ пастарацца.
Частка 4. Усталёўка і Старт
- Спампуйце Ubuntu LTS (Long Term Support) з афіцыйнага сайта. LTS версіі падтрымліваюцца 5 гадоў — гэта гарантыя стабільнасці.
- Запішыце вобраз на флэшку праз праграму BalenaEtcher (яна самая простая і прыгожая). Калі у вас ужо есць нешта з лінуксаў - то там існуе таксама простая праграма для стварэння бут-флэшак.
- Загрузіцеся з флэшкі і выберыце "Install Ubuntu".
- Пры ўсталёўцы выбірайце "Minimal Installation" (каб не ставіць лішні офісны пакет і плэеры), але пакіньце галачку "Install third-party software" (для драйвераў Wi-Fi і відэа).
Фінальны штрых: Ставім Docker
Калі сістэма ўсталявалася, віншую! У вас ёсць паўнавартасны Linux-камп'ютар. Засталося адкрыць тэрмінал (Ctrl+Alt+T) і ператварыць яго ў сервер.
Мы не будзем пакутаваць і ўводзіць 10 каманд. Скарыстаемся скрыптом, які ўсё зробіць прыгожа:
bash1# Абнаўляем сістэму 2sudo apt update && sudo apt upgrade -y 3 4# Ставім Docker адным скрыптом 5curl -fsSL https://get.docker.com -o get-docker.sh 6sudo sh get-docker.sh 7 8# Дадаем сябе ў групу docker (каб не пісаць sudo кожны раз) 9sudo usermod -aG docker $USER 10newgrp docker
Праверыць, ці жывы пацыент:
bash1docker run hello-world
Калі ён напісаў: "Hello from Docker!" — вы перамаглі, калі не - ну, тут чат ГПТ у дапамогу.
Частка 5. Лікбез: Як карыстацца Docker Compose?
Мы з вамі ўвесь час гаворым пра нейкія файлы docker-compose.yml. Але што з імі рабіць на практыцы?
Усё проста. Docker Compose — гэта рэцэпт. Вы пішаце ў файл, што хочаце запусціць (напрыклад, NextCloud і Базу Дадзеных), а Docker сам усё спампоўвае і звязвае.
Алгарытм дзеянняў:
-
Ствараем папку пад сэрвіс: Лепш трымаць парадак. Хочаце паставіць Jellyfin? Стварыце папку.
bash1mkdir jellyfin 2cd jellyfin -
Ствараем файл рэцэпту:
bash1nano docker-compose.yml(
Nano— гэта просты тэкставы рэдактар. Калі вы ў Desktop-версіі Ubuntu, можаце проста стварыць тэкставы файл правай кнопкай мышы, але можна іGedit). -
Устаўляем код: Бярэце код з майго мінулага артыкула, уклейваеце ў файл і захоўваеце (у nano:
Ctrl+O,Enter,Ctrl+X). -
Запускаем:
bash1docker compose up -dup— падняць (запусціць).-d— detached mode (запусціць у фоне, каб не вісела ў тэрмінале).
-
Карысныя каманды:
docker compose logs -f— паглядзець, што піша праграма (калі нешта не працуе, глядзіце сюды).docker compose down— спыніць і выдаліць кантэйнеры (дадзеныя ў папках застануцца, выдаліцца толькі сама "машына").docker compose pull— абнавіць версію праграмы (калі выйшла новая).
Вось і ўся магія. Ніякіх складаных apt-get install і канфліктаў версій.
Частка 6. Тонкая наладка: Узровень "Бог"
Каб ваш сервер стаў сапраўды "паставіў і забыўся", трэба зрабіць яшчэ некалькі важных шаманскіх дзеянняў.
1. Ноўтбук і сіндром "Зачыненай крышкі"
Калі ў вас ноўтбук, то па змаўчанні пры закрыцці крышкі ён думае, што праца скончана, і пераходзіць у сон. Але сервер — гэта не пра сон, яму спаць нельга!
Растлумачым яму гэта на мове тэрмінала:
- Адкрыйце галоўны файл паводзін:
bash
1sudo nano /etc/systemd/logind.conf - Знайдзіце радок, дзе напісана
#HandleLidSwitch=suspend. - Бязлітасна змяніце яго на:
(І прыбярыце рашоткуtext1HandleLidSwitch=ignore#у пачатку, інакш магія не спрацуе!) - Захавайце (
Ctrl+O,Enter) і бяжыце адтуль (Ctrl+X). - І перазагрузіце службу, каб прымяніць змены:
bash
1sudo systemctl restart systemd-logind
або проста перазагрузіце сістэму.
Цяпер можаце смела закрываць ноўтбук і хаваць яго ў шафу . Толькі пакіньце яму шчыліну для паветра.
2. Аўтазапуск: Лянота рухае прагрэс.
Святло міргнула, сервер перазагрузіўся... і што? І нічога. Цішыня. Каб не бегаць да яго кожны раз і не тыкаць пальцам у кнопку, наладзім аўтапілот.
А) Docker
Скажам яму: "Устань і ідзі" (разам з сістэмай):
bash1sudo systemctl enable docker
І не забывайце ў сваіх docker-compose.yml пісаць магічнае заклінанне restart: unless-stopped. Гэта значыць: "Працуй, пакуль я сам цябе не выключу".
Б) Тэлепорт да хаты (WireGuard Clean)
Памятаеце, мы рабілі VPN-сервер? Цяпер зробім так, каб ваш хатні сервер сам залазіў у гэты VPN і сядзеў там як партызан. Тады вы знойдзеце яго па ўнутраным IP (напрыклад, 10.8.0.2), нават калі ваш правайдэр вырашыць змяніць вам адрас тры разы на дзень.
Крок 1. Ставім інструменты:
bash1sudo apt install wireguard resolvconf -y
Крок 2. Дадаем канфіг:
- Зайдзіце ў свой WireGuard Easy (з мінулага гайда).
- Стварыце кліента HomeServer.
- Спампуйце яго файл.
Крок 3. Ужыўляем канфіг: Ствараем файл на серверы:
bash1sudo nano /etc/wireguard/wg0.conf
Капіруем усё з таго файліка, што спампавалі, і ўстаўляем сюды. Захоўваем (Ctrl+O, Enter, Ctrl+X).
Крок 4. Запускаем магічны тунэль:
bash1sudo systemctl enable wg-quick@wg0 2sudo systemctl start wg-quick@wg0
Крок 5. Момант ісціны:
bash1sudo wg show
Бачыце зялёнае/белае і словы handshake? Віншую! Ваш сервер цяпер у "віртуальнай сетцы".
3. Парады бывалых
- Хочаце адчуць сябе Неа? Усталюйце
btop.
Запусціце і глядзіце на прыгожыя графікі. Карысці — нуль, затое выглядае крута.bash1sudo snap install btop - Лянівае абнаўленне: Раз на месяц заходзьце ў папку з праектам і рабіце:
Гэта абновіць усё, што можна абнавіць, пакуль вы п'яце каву.bash1docker compose pull && docker compose up -d
Што далей?
Цяпер у вас ёсць магутны падмурак - уласны сервер на Ubuntu.
Прыйшоў час накатаць на яго софт. Вяртайцеся да майго мінулага артыкула Джэнтльменскі набор, бярыце адтуль docker-compose файлы і запускайце свае сэрвісы.
Цяпер яны будуць працаваць хутка, стабільна і цалкам пад вашым кантролем. Поспехаў у будаўніцтве лічбавага дома!
Каментары
(Каб даслаць каментар залагуйцеся ў свой уліковы запіс)