Rasberry pi setup nas

October 19, 2024 (2y ago)

0 views

Dùng PI cũng 1 thời gian, nên mình viết lại hướng dẫn setup PI cho dễ nhớ.

Nếu setup với ssd nvme thì sẽ cần thêm HAT PCIe to M.2 NVMe SSD Pi 5

Để phân vùng và mount cho ssd nvme vào preferences -> Add/Remove Software -> search: gnome-disk

xong nó sẽ có package như dưới hiện ra, tick vào và apply.

manage and configure disk drives and media
gnome-disk-utility-43.0-1 (64-bit)

Cài xong thì vào Accessories -> Disks

chọn vào ssd xong ấn dấu + để tạo partition, chọn format exfat ( định dạng này dùng được cho cả windows, mac, linux),

xong rồi chọn icon setting chọn Edit mount options, chọn mount at startup, chọn show in user interface, chọn Identify As là /dev/nvme0n1p1 thì mount point nó sẽ tự chuyển là /mnt/nvme0n1p1 ( cái này thường là dòng đầu và nvme0n1p1 nó sẽ khác)

phía trên mount point có dòng input, nó để dùng cho việc mount vào /etc/fstab ( cái này quan trọng ) sửa dòng input đó như sau:

defaults,nosuid,nodev,nofail,x-gvfs-show,umask=000
ssd-disk-mount

có thể vào fstab để xem: sudo nano /etc/fstab kết quả nó sẽ như này trong file fstab:

/dev/nvme0n1p1 /mnt/nvme0n1p1 exfat defaults,nosuid,nodev,nofail,x-gvfs-show,umask=000 0 0
fstab

Note:

Mount không đúng cách sẽ không có quyền ghi file, thiếu permissions, phải mount lại.

Cài remote desktop

sudo apt update
sudo apt upgrade
sudo apt install xrdp
sudo service xrdp start
sudo update-rc.d xrdp enable

lệnh xem user hiện tại đang login:

whoami

=> user

lệnh xem ip:

hostname -I

=> ip

trên windows có remote desktop connection, bạn nhập ip vào rồi login với user và password của PI.

còn trên mac thì có thể dùng Microsoft Remote Desktop (tên app là windows app)

Cài samba

Update package:

sudo apt update
sudo apt upgrade

Cài samba:

sudo apt install samba samba-common-bin

Bạn cần xác định thư mục bạn muốn chia sẻ trước khi chạy lệnh dưới, ở đây mình chia sẻ thư mục /mnt/nvme0n1p1, rồi sau đó chạy:

sudo nano /etc/samba/smb.conf

Sau đó copy nội dung dưới vào cuối file smb.conf

[pnas]
path = /mnt/nvme0n1p1/pnas
writeable=Yes
create mask=0777
directory mask=0777
public=no

Giải thích: [pnas]: cái này là tên share folder ( đặt tên thế nào cũng được, nó không phải là folder trên PI mà chỉ là tên để đánh dấu folder share thôi )

sau khi bạn truy cập vào đường dẫn share, ví dụ: smb://192.168.0.134/pnas

path: đường dẫn thư mục bạn muốn chia sẻ

create mask=0777: cho phép tất cả mọi người có thể tạo file

directory mask=0777: cho phép tất cả mọi người có thể tạo folder

browseable=yes: cho phép người dùng có thể xem thư mục share

public=no: chỉ cho phép người dùng đã đăng nhập mới có thể truy cập

1 ví dụ khác:

[NAS1]
path = /mnt/sdb
writeable=Yes
create mask=0777
directory mask=0777
valid users=pi
admin users=pi
public=no
[NAS2]
path = /mnt/sda1
write list=pi
create mask=0777
directory mask=0777
public=no

Ví dụ trên với NAS1 chỉ cho phép user pi truy cập, còn NAS2 chỉ cho phép user pi có thể write vào folder đó.

Note: với trường hợp của mình:

[pnas]
path = /mnt/nvme0n1p1/pnas
writeable=Yes
create mask=0777
directory mask=0777
public=no
[snas]
path = /mnt/nvme0n1p1/snas
write list=cee
create mask=0777
directory mask=0777
public=no

Sau khi sửa xong thì ấn phím: ctr x sau đó ấn y để lưu lại, rồi ấn enter để thoát.

Tạo tài khoản để truy cập được vào share folder:

sudo smbpasswd -a <USERNAME>

Nó sẽ hỏi password, bạn nhập password cho user đó. Sau đó restart samba:

sudo systemctl restart smbd

Để truy cập được vào share folder, bạn cần biết địa chỉ IP của PI, bạn có thể xem qua terminal bằng lệnh:

hostname -I

Trên mac, bạn mở Finder, chọn Go -> Connect to Server, nhập địa chỉ IP của PI, ví dụ: smb://ip/pnas,

sau đó nhập user và password mà bạn đã tạo ở trên.

hoặc smb://ip sau đó chọn share folder mà bạn muốn truy cập rồi nhập user và password.

Trên windows, bạn mở file explorer, nhập địa chỉ IP của PI, ví dụ: \ip\pnas, sau đó nhập user và password mà bạn đã tạo ở trên.

Note:

Nếu connect rồi, lần sau bạn có thể vào network tab bên trái của file browser, nó sẽ show ra share folder của PI, bạn chỉ cần click vào là truy cập được.

Có thể tham khảo thêm ở đây: https://pimylifeup.com/raspberry-pi-samba/

và đây: https://www.youtube.com/watch?v=8QxJWW0mjAs

Cài Aria2

Cài web server:

sudo apt install lighttpd aria2 screen -y

Bây giờ cần xóa tệp index.html khỏi thư mục mặc định của máy chủ web và tạo một thư mục mới cho aria2:

sudo rm -f /var/www/html/index*.html; sudo mkdir /var/www/html/aria2

Sau đó tạo file cấu hình cho aria2:

sudo nano /etc/lighttpd/lighttpd.conf

Sau đó thêm dòng này vào cuối file:

dir-listing.activate = "enable" $HTTP["url"] =~ "^/*($|/)" { dir-listing.activate = "enable" }

Sau đó ấn ctr x sau đó ấn y để lưu lại, rồi ấn enter để thoát.

Sau đó restart lại máy chủ web:

sudo systemctl restart lighttpd

Tải AriaNg

wget https://github.com/mayswind/AriaNg/releases/download/1.2.3/AriaNg-1.2.3-AllInOne.zip; sudo unzip AriaNg*.zip -d /var/www/html/aria2

Tạo file cấu hình cho aria2:

sudo mkdir $HOME/.aria2; sudo touch $HOME/.aria2/aria2.conf

Tạo crontab để aria2 tự động khởi động khi khởi động PI:

crontab -e

Sau đó thêm dòng này vào cuối file:

@reboot screen -d -m -S AriaRPC bash -c 'aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all=true'

Sau đó ấn ctr x sau đó ấn y để lưu lại, rồi ấn enter để thoát.

Khởi động lại PI:

sudo reboot

Tìm ip của PI:

hostname -I

Có được ip rồi, bạn mở trình duyệt, nhập địa chỉ(lưu ý sửa ip thành ip của bạn):

http://ip/aria2

tuỳ chọn, có thể cài hoặc không: Cài extension chrome để thêm link vào aria2: chrome.google.com/webstore/detail/aria2-explorer/mpkodccbngfoacfalldjimigbofkhgjn?hl=en-US

Tham khảo ở đây: https://www.alexgoldcheidt.com/raspberry-pi-aria2-web-ui/

Cài plex server

Update

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apt-transport-https
curl https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex-archive-keyring.gpg >/dev/null
echo deb [signed-by=/usr/share/keyrings/plex-archive-keyring.gpg] https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
sudo apt-get update
sudo apt install plexmediaserver

Sau khi cài plex xong thì vào (lưu ý sửa ip thành ip của bạn):

http://ip:32400/web

Sau đó setup plex server theo hướng dẫn trên web.

Note:

Nếu folder mà chọn mà plex không thấy video thì cần phải set quyền đọc cho folder đó, và plex không đọc được mkv, nên cần convert mkv sang mp4.

Tham khảo thêm ở đây: https://pimylifeup.com/raspberry-pi-plex-server/

Cài docker

Step 1 – Configure APT package manager

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Step 2 – Install official Docker packages

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Step 3 – Add user permissions for Docker

sudo usermod -aG docker ${USER}

Before you can use docker, you need to log out and back in. Then you can run this to check that it works.

docker ps

Step 4 – Compose backward compatibility The version of docker we just installed includes “docker compose”, but most articles and how-to guides out on the net still leverage the older “docker-compose” command. The easiest thing to do is to create a shim so that you can run either.

This next snippet will create a script that catches and converts a docker-compose command into a docker compose command.

sudo touch /usr/bin/docker-compose
echo 'docker compose --compatibility "$@"' | sudo tee /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

Tham khảo thêm ở đây: https://www.jpaul.me/2024/07/how-to-install-docker-on-a-raspberry-pi-5/

https://docs.docker.com/engine/install/debian/#install-using-the-repository

Cài File Browser

Cái này phải cài qua docker

Đầu tiên mở terminal lên xong tạo folder cho file browser:

cd ~
mkdir filebrowser

nó sẽ tạo ra folder filebrowser trong user hiện tại. Hoặc có thể tạo bằng tay, chú ý đường dẫn nên để dưới user hiện tại, để dễ quản lý.

filebrowser-direction

Sau đó vào trong folder filebrowser, tạo file docker-compose.yml ( có thể dùng lệnh sudo nano docker-compose.yml) xong rồi mở file đó lên và copy nội dung dưới vào file đó:

version: '3'
services:
  filebrowser:
    image: filebrowser/filebrowser
    restart: unless-stopped
    container_name: filebrowser
    volumes:
      - /mnt/nvme0n1p1:/srv #Change to match your directory
      - /home/cee/filebrowser/filebrowser.db:/database/filebrowser.db #Change to match your directory
      - /home/cee/filebrowser/settings.json:/config/settings.json #Change to match your directory
    environment:
      - PUID=$(id -u)
      - PGID=$(id -g)
    ports:
      - 8095:80 #Change the port if needed

Giải thích:

  • /mnt/nvme0n1p1:/srv

=>Cái này là mount folder /mnt/nvme0n1p1 vào /srv, bạn có thể thay đổi đường dẫn tùy ý.

/mnt/nvme0n1p1 ( là ssd của mình, có thể dùng lệnh df -h để xem đường dẫn của ssd ) là đường dẫn mà file browser sẽ quản lý,

chỉ nên thay đổi cái trước :/srv, cái sau là không nên thay đổi.

Bạn tạo 2 files là filebrowser.db và settings.json trong folder filebrowser, nó sẽ lưu trữ dữ liệu của file browser.

Và chỉnh sửa cái path trên cho đúng, thường là sửa chữ cee thành user của bạn

  • /home/cee/filebrowser/filebrowser.db:/database/filebrowser.db #Change to match your directory

  • /home/cee/filebrowser/settings.json:/config/settings.json #Change to match your directory

Tiếp theo vào folder filebrowser, chạy lệnh:

docker-compose up -d

Trên chrome, bạn nhập địa chỉ(lưu ý sửa ip thành ip của bạn):

http://ip:8095

Xem video này (ưu tiên xem vì dễ hiểu): https://www.youtube.com/watch?v=lTHPb-c81_o Hoặc có thể tham khảo tại đây: https://pimylifeup.com/raspberry-pi-file-browser/

Cài Tunner cloudflare

Phải có domain trước (ko có thì mua hoặc dns qua cloudflare)

vào trang dashboard của cloudflare (dash.cloudflare.com)

bên sidebar chọn zero trust ( nó sẽ sang trang mới ) => network ( nằm bên sidebar ) => tunnels

sau đó chọn create tunnel => nó ra 2 cái ô thì chọn Cloudflared => điền tên tunnel ( tên gì cũng được )

Sau khi điền tên xong chọn next nó sẽ ra 1 màn khác, chọn environment.

Ở đây chọn docker, nó sẽ hiện ra 1 cái command, mình cần sửa command đó rồi copy cái command đó rồi chạy nó trên terminal của PI.

Cần thêm -d --restart always --name cloudflared --network host vào sau chữ run, nó sẽ như thế này:

docker run -d --restart always --name cloudflared --network host cloudflare/cloudflared:latest tunnel --no-autoupdate run --token eyabcxyz...

Thêm cái này để nó chạy ngầm, tự động chạy khi khởi động PI, và chạy trên network host.

Note: trong lúc chạy có thể nó sẽ báo lỗi (Failed to sufficiently increase send buffer size) thì chạy mấy lệnh này (https://github.com/cloudflare/cloudflared/issues/1176)

sudo sysctl -w net.core.rmem_default=26214400
sudo sysctl -w net.core.wmem_default=26214400
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400

Sau khi có tunnel rồi vào tab public hostname thêm các thông tin như domain và redirect host ở mục URL rồi chọn save

tunnels-public-hostname.png

Giờ thử vào bằng domain xem có được không, nếu nó vào như cái url là được.

Cũng xem tham khảo ở đây: https://www.youtube.com/watch?v=lTHPb-c81_o

Fix UI changed theme from lxde 12 to default theme

sudo apt-get install raspberrypi-ui-mods

đọc thêm : https://gist.github.com/hungdev/e69ac6166ab85b96c98540a0e4b7eeac

Change theme có thể xem video này: https://www.youtube.com/watch?app=desktop&v=IEtkzVKJP-M

Browser Graphic problem Pi5

Có 2 cách fix:

Cách 1:

Lỗi này khi mở trình duyệt sẽ bị

  1. Add the xrdp user to the ssl-cert group:
sudo adduser xrdp ssl-cert
  1. Modify the /etc/X11/xrdp/xorg.conf file
sudo nano  /etc/X11/xrdp/xorg.conf

Then find

Option "DRMDevice" "/dev/dri/renderD128" 

and change change it to:

Option "DRMDevice" ""

Nghĩa là xoá cái /dev/dri/renderD128 đi

Cách 2: Tạo user mới

sudo adduser cee

lưu ý: cee là tên user, bạn có thể đặt tên khác.

Sau đó nó sẽ hỏi mấy cái thông tin, bạn nhập thông tin rồi ấn enter.

cấp quyền cho user mới:

sudo visudo

Thêm dòng sau vào dưới mục User Privilege Specification (lưu ý thay cee thành tên user của bạn, bên dưới dòng root ALL=(ALL:ALL) ALL):

cee ALL=(ALL:ALL) ALL

Nếu muốn xoá user thì dùng lệnh này

sudo deluser -remove-home cee

Nguồn: https://forums.raspberrypi.com/viewtopic.php?t=366449

Tham khảo cài NAS, Download manager server, Plex Server https://www.youtube.com/watch?v=EgAS0j71FG8

Cài tunnel cloudflare và file browser https://www.youtube.com/watch?v=lTHPb-c81_o

Khởi động PI từ ssd nvme: https://www.youtube.com/watch?v=B-tv_eeVeZw

Rasberry pi setup nas | Cee