Cài đặt và cấu hình home server
Bài viết sẽ được cập nhật dần …
Tôi ấp ủ ý định xây dựng một trung tâm giải trí đa phương tiện sử dụng trong gia đình sử dụng chip ARM từ khá lâu. Tối ưu nó là ưu tiên hàng đầu nên tôi bắt đầu với chip ARM, lưu trữ dữ liệu google cloud … Ở bài viết này tôi sẽ chia sẻ các thiết lập được tôi sử dụng để vận hành server đấy một cách trơn tru nhất.
Yêu cầu đối với server
- Tiết kiệm điện năng vì chạy 24⁄24
- Có thể truy cập online bên ngoài mạng LAN
- Dễ cài đặt, cấu hình
Hệ điều hành & phần mềm
- Linux distro: Debian
- Phần mềm: Docker và Docker compose, Rclone, Plex (), aria2-rpc, fail2ban, jdownloader
- Cloud lưu dữ liệu: Google Drive Unlimited
Cài đặt
1. Cài đặt Docker và Docker compose
2. Rclone
Cài đặt rclone bằng dòng lệnh bên dưới. Các bạn đọc thêm chi tiết về cấu hình và sử dụng rclone ở đây
curl https://rclone.org/install.sh | sudo bash
Nếu đã có file backup cấu hình trước đó thì copy file vào đường dẫn ~\.config\rclone\
Tải script để mount Google Drive vào thư mục trên local
wget https://lab.skywirex.com/scripts/shell/rclone-plex && nano rclone-plex
Chạy script khi khởi động lại máy
mv rclone-plex /etc/init.d/rclone-plex
chmod +x /etc/init.d/rclone-plex
update-rc.d -f rclone-plex defaults
bash /etc/init.d/rclone-plex start
update-rc.d -f rcloned disable
bash /etc/init.d/rcloned stop
3. Samba
docker run -d \
--name samba \
-e USERID=1000 \
-e GROUPID=1000 \
-e TZ=Asia/Ho_Chi_Minh \
-p 137:137/udp \
-p 138:138/udp \
-p 139:139 \
-p 445:445 \
-v /mnt/cloud/khu-drive:/mount/data \
-v /media/khu-drive:/mount/media \
--restart unless-stopped \
dperson/samba:aarch64 \
-n \
-u "admin;admin" \
-s "data;/mount/data;yes;yes;yes;all" \
-s "media;/mount/media;yes;yes;yes;all"
4. Aria2
docker run -d \
--name aria2-rpc \
-p 6800:6800 \
-v /data/download:/aria2/data \
-v ~/.config:/aria2/conf \
-e PUID=1000 \
-e PGID=1000 \
-e RPC_SECRET=skywirex \
skywirex/aria2-rpc
5. Deluge (torrent client)
docker create \
--name=deluge \
--net=host \
-e PUID=000 \
-e PGID=000 \
-e TZ=Asia/Ho_Chi_Minh \
-v /root/.config/deluge:/config \
-v /data/download:/downloads \
--restart unless-stopped \
linuxserver/deluge
docker start deluge
http://SERVER-IP:8112
6. minidlna
Docker compose
version: '3.3'
services:
minidlna:
container_name: minidlna
network_mode: host
restart: unless-stopped
volumes:
- '/media/khu-drive/video/movies:/media/video'
environment:
- 'MINIDLNA_MEDIA_DIR_2=V,/media/video'
- 'MINIDLNA_FRIENDLY_NAME=skywirex-12'
image: vladgh/minidlna
7. Emby
docker create \
--name=emby \
--volume ~/.config/emby:/config \
--volume /media/khu-drive/video:/mnt/share1:ro \
--net=host \
--publish 8096:8096 \
--publish 8920:8920 \
--env UID=0 \
--env GID=0 \
emby/embyserver_arm64v8
8. Radarr (for movies) and Sonarr (for TV shows)
docker create \
--name=radarr \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Ho_Chi_Minh \
-e UMASK_SET=022 \
-p 7878:7878 \
-v ~/.config/radarr:/config \
-v /media/khu-drive/video/movies:/movies \
-v /mnt/local/usb/sandisk/downloads:/downloads \
--restart unless-stopped \
linuxserver/radarr
docker create \
--name=sonarr \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Ho_Chi_Minh \
-e UMASK_SET=022 \
-p 8989:8989 \
-v ~/.config/sonarr:/config \
-v /media/khu-drive/video/TV:/tv \
-v /mnt/local/downloads:/downloads \
--restart unless-stopped \
linuxserver/sonarr