- Hướng dẫn này giải thích cách cài Docker trên điện thoại thông minh Android và tận dụng nó như một máy chủ tại nhà
- Nội dung được thực hiện dựa trên PostmarketOS, và vì toàn bộ dữ liệu sẽ bị xóa trong quá trình này nên nên dùng thiết bị không còn sử dụng
- Thiết bị đó phải nằm trong danh sách được PostmarketOS hỗ trợ, và cách làm tương tự cũng có thể áp dụng cho các thiết bị khác
-
Những gì cần cho hướng dẫn này
- Điện thoại Android (khuyến nghị OnePlus 6 hoặc OnePlus 6T)
- Fastboot đã được cài trên PC
- Tệp khởi động và tệp ảnh của PostmarketOS
-
Bước 1: Bật chế độ nhà phát triển và gỡ lỗi USB
- Bật chế độ nhà phát triển trên điện thoại Android: trong phần Cài đặt, chạm nhiều lần vào "Số bản dựng" để thấy thông báo bật chế độ nhà phát triển
- Trong tùy chọn nhà phát triển, bật mở khóa OEM và gỡ lỗi USB
-
Bước 2: Cài Fastboot trên PC
-
Bước 3: Tải tệp PostmarketOS
- Tải tệp khởi động và tệp ảnh phù hợp với mẫu điện thoại cụ thể từ website PostmarketOS
- Giải nén các tệp và lưu vào một thư mục
-
Bước 4: Vào chế độ Fastboot
- Khởi động lại điện thoại Android và boot vào chế độ Fastboot
- Với OnePlus 6T, nhấn đồng thời nút tăng âm lượng, giảm âm lượng và nút nguồn để vào chế độ Fastboot
- Kết nối với PC bằng cáp USB
-
Bước 5: Flash PostmarketOS
- Xem hướng dẫn cài PostmarketOS tương ứng với từng thiết bị rồi tiến hành flash
- Chạy các lệnh sau trong Command Prompt hoặc terminal:
fastboot erase userdata
fastboot erase dtbo
fastboot flash boot boot_file_name.img
fastboot flash userdata img_file_name.img
- Khởi động lại điện thoại sau khi flash xong
-
Bước 6: Thiết lập ban đầu và bật SSH
- Sau khi điện thoại khởi động lại, nhập mã PIN mặc định "147147"
- Kết nối với mạng Wi‑Fi
- Trong ứng dụng Console, chạy các lệnh để bật SSH:
sudo apk update
sudo service sshd start
sudo rc-update add sshd
-
Bước 7: Kết nối điện thoại từ PC qua SSH
- Trên PC, mở Command Prompt hoặc terminal rồi kết nối với điện thoại qua SSH:
ssh user@IP_Address_of_the_phone
- Tên người dùng mặc định là "user"
-
Bước 8: Cài Docker trên điện thoại Android
- Khi đã kết nối qua SSH, cài Docker bằng các lệnh sau:
sudo apk add docker
sudo service docker start
sudo rc-update add docker default
- Kiểm tra cài đặt Docker:
sudo docker ps
-
Chạy container Docker
- Lệnh chạy container Portainer:
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
- Portainer cung cấp giao diện web để quản lý container Docker
-
Truy cập giao diện Portainer
- Trên trình duyệt web của PC, nhập
IP_Address_of_the_phone:9443 để truy cập giao diện Portainer
-
Nhược điểm khi dùng OnePlus 6T làm máy chủ tại nhà
- Không hỗ trợ Ethernet: chỉ phụ thuộc vào Wi‑Fi nên có thể thiếu ổn định và tốc độ
- Không hỗ trợ ổ đĩa ngoài: bị giới hạn ở bộ nhớ trong (256GB), không phù hợp cho các tác vụ lưu trữ quy mô lớn
- Cách này là một lựa chọn thay thế rất tốt cho Raspberry Pi, đồng thời cung cấp màn hình và pin tích hợp để mang lại nhiều tính năng hơn.
1 bình luận
Ý kiến trên Hacker News
Cài postmarketOS cho phép dùng Linux thông thường thay vì Android và có thể cài Docker. Trình OOM killer của Android có thể mạnh tay chấm dứt các ứng dụng chạy nền, nên tốt nhất là tránh Android khi cấu hình làm máy chủ. Có nghi ngờ liệu thiết bị có thể chạy 24/7 lâu dài do vấn đề pin hay không. Khuyến nghị tháo pin.
Với những ai tìm một máy chủ di động giá rẻ, điện thoại dòng Motorola G là lựa chọn phù hợp. Các mẫu chạy Android 14 có giá dưới 120 USD và cung cấp tính năng giới hạn sạc pin. Có thể vô hiệu hóa trình diệt ứng dụng nền trong Termux mà không cần quyền root. Wi‑Fi hỗ trợ tốc độ 350Mbit, và có thể kết hợp Speedify với Tailscale để đạt 99% thời gian hoạt động.
Có người nhắc đến một meme của Nga và đặt câu hỏi vì sao phải dùng công cụ đơn giản để tạo ra thứ phức tạp.
Có ý kiến cho rằng việc cài Docker trên Android bằng Termux là khá đơn giản. Họ chia sẻ cách cài đặt qua một liên kết GitHub.
Có người tò mò về tình hình hiện tại của các hệ điều hành Linux cho điện thoại, và nhắc rằng trước đây chúng gần như chỉ gọi điện được.
Có người hỏi liệu có cách nào tốt để làm việc này trên một chiếc điện thoại bị vỡ màn hình hay không. Họ đang tìm cách nhận phản hồi qua USB và âm thanh, đồng thời hỏi liệu có thể thay màn hình hay không.
Có ý kiến đánh giá tích cực đề xuất tận dụng thiết bị di động làm máy chủ gia đình có thể triển khai nhiều ứng dụng khác nhau bằng Docker.
Có người tự hỏi liệu điện thoại có thể tạo ra một sự chuyển đổi mô hình trong việc lưu trữ dịch vụ hay không. Hiện tại điều đó vẫn chưa khả thi do vấn đề tuổi thọ pin, nhưng sẽ cần công nghệ pin tốt hơn và các E-core hiệu quả hơn.
Trước đây, việc dùng điện thoại như một máy chủ có UPS tích hợp từng được xem là một ý tưởng hay, nhưng rủi ro pin phát nổ là vấn đề lớn.
Có người nói rằng điều này chỉ thú vị nếu đã sẵn có một chiếc điện thoại tương thích. Nếu không, tốt hơn nên đầu tư thời gian và tiền bạc vào một mini PC có khả năng lưu trữ và điện năng phù hợp hơn cho việc dùng làm máy chủ.