Tối giản việc đọc tin nổi bật, comment chất lượng nhiều reaction trên voz cho các fen bận rộn.

VozFen.com: {thảo luận} Cài đặt AdguardHome trên tvbox chạy Armbian

@yellow_submarine Joined: 10/2020
#1
Ưng 17

{thảo luận} Cài đặt AdguardHome trên tvbox chạy Armbian

ye…
yellow_submarine

10/2020

@yellow_submarine 10/2020
#2
Ưng 17
Gạch 1
Vàng quan điểm

4. Cài đặt Portainer trên docker​

Portainer là một công cụ giúp dễ dàng quản lý docker container, host và docker swam qua giao diện UI. Người dùng sẽ không phải vất vả nhớ những câu lệnh mỗi khi phải quản lý các tài nguyên của docker như images, network, containers, volummes; ngoài ra, việc sửa lỗi cũng dễ dàng, trực quan hơn. Xem ảnh dưới để thấy quá trình cập nhật Portainer từ bản 1.8 lên 2.0 bằng docker CLI nhiêu khê như thế nào. Vì vậy, sau một thời gian dùng CLI trên docker compose thì mình đã chuyển sang Portainer cho nhàn.

Phần này chỉ hướng dẫn qua cách cài đặt Portainer, các thím muốn tìm hiểu thêm về Portainer thì tham khảo phần Documentation trên trang chủ Portainer. Cài đặt Portainer tương đối dễ, chỉ cần 2 dòng lệnh:

  • Dùng PuTTY kết nối với tvbox (đang chạy AcT, đã cài docker) bằng SSH, port 22.
  • Tại dấu nhắc, nhập 2 lệnh sau:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Chú ý tới đoạn cuối cừng của dòng lệnh thứ 2: portainer/portainer-ce, từ bản 2.0 thì Portainer đã đổi tên thành Portainer CE, do đó để pull và sử dụng bản mới nhất thì cấu trúc câu lệnh phải đổi thành portainer/portainer-ce. Nói thêm, CE = Community Edition: bản cộng đồng người dùng.

Mặc định thì Portainer dùng port 9000 cho giao diện UI nên sau khi cài đặt xong thì đăng nhập vào Portainer qua địa chỉ http://tvbox_IP:9000. Lấy ví dụ như tvbox của mình có địa chỉ ip là 192.168.1.13, sẽ đăng nhập vào Portainer qua http://192.168.1.13:9000. Sử dụng username là admin, đặt password tùy chọn, sau đó xác nhận để vào giao diện quản lý.


5. Cài đặt AdguardHome chặn quảng cáo​

Pi-hole thì đã khá quen thuộc với các vozer do đang có nguyên một thread trên voz, cả tân và cựu. Cài đặt Pihole trên tvbox đang chạy AcT cũng tương đối dễ dàng: dùng docker hoặc cài trực tiếp lên eMMC.

Ở đây mình muốn đề cập tới AdguardHome (AGH). AGH về cơ bản có tính năng không khác nhiều so với Pihole và đều là DNS server. Dưới đây là so sánh tính năng giữa 2 phần mềm mà theo mình là rõ ràng nhất và không thiên vị (nguồn: Github AdguardTeam). Qua so sánh này thì các thím có thể tự mình rút ra kết luận.


Cá nhân mình thích giao diện đơn giản, không màu mè của AGH hơn. AGH cài đặt được trên nhiều platform, mình đã thử và cài ngon trên PC (CentOS 8), laptop (Debian 10/Windơs 10), tuy nhiên trên AcT cho dù đã thử nhiều cách nhưng vẫn không thể cài đặt trực tiếp thành công lên eMMC, có lẽ do AcT còn nhiều lỗi. Hên là AGH có bản cho docker nên sau đây mình minh họa cách cài bản này dùng Portainer.

- Dùng PuTTY SSH đến tvbox đã cài đặt AcT, đăng nhập và tạo thư mục để lưu data của AGH trên eMMC. Mục đích của bước này là để lưu dữ liệu lâu dài trên eMMC của tvbox, khi có sự cố phải cài đặt lại AGH thì không bị mất dữ liệu của lần cài đặt trước. Giả sử mình đang ở root của eMMC:

sudo mkdir adguardhome
cd adguardhome
sudo mkdir data conf


- Đăng nhập Portainer. Ở lần đăng nhập đầu tiên sẽ có giao diện như dưới, click vào Local, sau đó chọn Stack > Add Stack






- Tại cửa sổ Create stack, đặt tên cho docker tại phần Name, sao chép và dán đoạn code sau vào phần Web editor:
version: '2'
services:
adguardhome:
container_name: adguardhome
image: adguard/adguardhome:latest
restart: unless-stopped
volumes:
- /root/adguardhome/data:/opt/adguardhome/work
- /root/adguardhome/conf:/opt/adguardhome/conf
network_mode: "host"


- Chú ý các điểm sau:

+) Đoạn code trên dùng YAML nên cần thụt lề (indent) đầu dòng đúng như hình trên, nếu ko sẽ bị báo lỗi khi chạy lệnh trên Portainer .
+) hai thư mục là data, config đã được tạo ở bước đầu tiên trên eMMC sẽ được BIND với hai thư mục tương úng là work và conf của AGH. Do đó cần trỏ chính xác đường dẫn của các thư mục này.
+) dòng lệnh cuối network_mode: "host". Nếu theo đúng hướng dẫn cài đặt trên trang chủ của AGH thì không được/chạy, nhưng nếu sửa lại như trên (dùng AGH làm DNS server) thì AGH lại chạy ngon. Điểm này mình chưa biết lý do, vì AGH đã chạy ngon rồi nên cũng không cần tìm hiểu thêm.

  • Kéo xuuống phía dưới chọn "Deploy the stack", đợi một lúc.
  • Click chọn Container, nếu thấy dòng trạng thái của AGH là running màu xanh như hình thì AGH đã cài đặt thành công.


Do network đang ở chế độ server (xem chú ý phần trên), truy cập vào giao diện quản lý AGH sẽ thông qua địa chỉ ip của tvbox. Cách sử dụng AGH như Pihole, thêm danh sách các sites quảng cáo vào phần bộ lọc (Filter > DNS block list) như hình dưới.








Nguồn tham khảo:
https://documentation.portainer.io
https://github.com/AdguardTeam/AdGuardHome
https://forum.armbian.com/forum/41-support-armbian-tv/

tm…
tmk1207

09/2009

@tmk1207 09/2009
#3
Ưng 5
Vàng quan điểm

ye…
yellow_submarine

10/2020

@yellow_submarine 10/2020
#7
Ưng 4
Vàng quan điểm
Những pm chạy trên docker này updatre bằng cách nào khi những pm này có ver mới vậy b?
Thím dùng Watchtower, cũng là một docker. Watchtower sẽ tự động kiểm tra tất cả các container khác và bản thân nó, khi có bản image mới thì sẽ tự tải về và deploy theo đúng thiết lập. Nói chung, watchtower tự làm từ a -z cho thím, cực tiện.