Վերադառնալ
Իմ սերվերն այժմ հեռախոս է. CMF Phone 1-ը՝ VPS-ի փոխարեն
SiTech Team2 წთ. საკითხავი

Իմ սերվերն այժմ հեռախոս է. CMF Phone 1-ը՝ VPS-ի փոխարեն

self-hosting-ի սիրահարը փոքր Hetzner VPS-ը փոխարինել է արմատավորված CMF Phone 1-ով՝ Termux, chroot-ում Debian և Cloudflare Tunnel՝ բոլոր զիջումներով հանդերձ։

self-hosting-ի սիրահարը փոքրիկ Hetzner VPS-ը փոխարինել է դարակում առանց գործածության կանգնած հեռախոսով։ Մանրամասն գրառման մեջ հեղինակը նկարագրում է, թե ինչպես արմատավորեց (root) CMF Phone 1-ը և այն վերածեց այն մեքենայի, որն այժմ աշխատեցնում է անձնական ենթակառուցվածքը՝ հեռահար զննարկիչ, ֆինանսների հետագծիչ և էկրանի համօգտագործման ծառայություն։

Ինչո՞ւ հեռախոս

Տեղափոխությունը սկսվել է ծախսերի խնդրից։ VPS-ը էժան էր, բայց ռեսուրսները չէին հերիքում, երբ Surf կոչվող հեռահար զննարկչի օգտագործած Chrome-ին իրական աշխատանք էր ընկնում. առանձնացված CPU-ով մեքենաները չափազանց թանկ էին, իսկ նոր համակարգիչ հավաքելը ժամանակին չէր՝ DRAM-ի բարձր գների պատճառով։ Իսկ ձեռքի տակ եղած հեռախոսն ունի ութ ARM միջուկ, 8 ԳԲ օպերատիվ հիշողություն, 128 ԳԲ ֆլեշ, Wi-Fi 6, 5G մոդեմ և ներկառուցված մարտկոց, որն իրեն փոքրիկ UPS-ի պես է պահում։

postmarketOS-ից մինչև Termux

Առաջին փորձը՝ postmarketOS-ի տեղադրումը, ավարտվեց splash էկրանով և սև դիսփլեյով, ընդ որում՝ Wi-Fi-ը, Bluetooth-ը և ապարատային արագացումը նշված էին որպես կոտրված։ Սկզբնական Nothing OS-ի վերականգնումը պահանջում էր Windows-ի flashing գործիք. մի պահ հեռախոսը թվում էր ամբողջությամբ արգելափակված։ Դասը՝ Android-ում արդեն կան աշխատող դրայվերներ ողջ ապարատայինի համար։ Երկրորդ փորձին սկզբնական Android-ը պահպանվեց, իսկ հոսթ միջավայր դարձավ Termux-ը՝ OpenSSH, runit, Caddy, Cloudflared և Tailscale, ինչպես նաև Termux:Boot, որը վերագործարկումից հետո միացնում է ծառայությունները։ Ansible-ով կառավարվող Android պրոֆիլը տեղադրում է wake lock, անջատում idle ռեժիմները, ազատում հավելվածները ֆոնային սահմանափակումներից և պահում Wi-Fi-ն ու մշտական Tailscale VPN-ը միացված։

proot, ապա՝ իսկական chroot

Linux ARM64 OCI պատկերներով մատուցվող հավելվածները սկզբում աշխատում էին proot-distro-ի տակ, որը չի պահանջում ո՛չ root, ո՛չ հատուկ միջուկ։ Հապաղման նկատմամբ զգայուն զննարկչի ծանրաբեռնվածությունն այս ճանապարհով արդյունավետ չէր հասնում CPU-ին, ուստի հեղինակը արմատավորեց հեռախոսը և մտավ նույն Debian ֆայլային համակարգ իսկական chroot-ով։ Պատկերները ամրագրված են digest-ով, Ansible-ը ստուգում ու տեղադրում է դրանք. արմատային օժանդակ ծառայությունը ստեղծում է մասնավոր mount namespace։ Հեռախոսի վրա ո՛չ Docker կա, ո՛չ կոմպիլյատոր։

Մուտքային տրաֆիկ, ռոումինգ և արդյունք

HTTP ծառայությունները դուրս են բերվում Cloudflare Tunnel-ով. կապը միայն արտաքին է, այնպես որ երթուղիչում մուտքային կանոններ պետք չեն, իսկ հեռախոսը այլ ցանց տեղափոխելիս թունելը պարզապես վերականգնում է կապը։ Surf հեռահար զննարկիչը, որն ինքն է ավարտում TLS-ը և որին կապված է հին iPad-ը, թունելով անցնելու համար իր TLS հոսքը փաթաթում է սովորական WebSocket-ի մեջ. հեղինակի չափումներով դա ավելացնում է մոտավորապես մեկ լրացուցիչ ցանցային round trip, իսկ iPad-ի կապը կազմել է մոտ 60 մվ։ Ներկառուցված dashboard ծառայությունը dash.cmf հասցեով ցույց է տալիս CPU-ն, հիշողությունը, պահոցն ու մարտկոցը՝ LAN-ում կամ tailnet-ում։ Հեղինակի եզրակացությունը՝ մի քանի անձնական ծառայության համար սա խելամիտ է, եթե կա արմատավորելի ARM64 հեռախոս, բայց ոչ անփոխարինելի տվյալների համար՝ առանց սարքից դուրս ավտոմատ պահուստավորումների։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։