config.bash(具体每个应用的配置与部署暂略……网络上能找到很多。)
以下内容作为配置一台Linux-Based的NAS参考。
一、基础软硬件配置
CPU:2 Core
RAM:4 GB
OS: Ubuntu Server 22.04.1
Disk:视情况而定
二、分区:
510MB /boot/efi fat32
512MB /boot ext4
2GB swap
50G / ext4
30G /database ext4
500G /data ext4
(/database集中各个docker配置文件,便与打包备份,/data用于SMB共享,容量视情况而定,)
三、账户:
基本账户
ming:
密码:ming2022
全局使用该账户作为基本账户。
管理账户
Adminming
密码:ming2022!
部分应用设立管理账户,与日常使用账户区隔
系统根账户
root:
密码:mingPSWD2022!
四、功能实现
以CASAOS作为首页(这实际上是个GUI的Dokcer管理界面),以Docker化的形式运行Filebrower(Web文件管理)、Jellyfin(影音库)、Calibre(图书馆)、Wiznote(笔记系统)、Syncthing(文件备份)、Qbittorrent(BT下载)、Homeassistant(智能家居)、flare(基于Docker的导航页,作为CASAOS的替换)、v2raya(魔法)、FRPS(反向代理,需手动配置文件后启用)等应用。
在下面这个脚本中,CASAOS占用80端口,其余则按顺序占用60000+端口(60000起),另外占用50000+部分端口用于通信。
系统部署完成后直接导入脚本 config.bash(右键下载)
wget https://www.960111.xyz/usr/uploads/2023/01/config.bash然后运行
sudo bash config.bash也可以直接从下面复制修改。
echo "首先修改root密码"
sudo passwd
sudo usermod -aG sudo $user
echo "修改SSH端口为31400和34100(备用),并禁止root用户登录"
sudo sed -i 's/#Port 22/Port 31400\nPort 34100\nPermitRootLogin no/' /etc/ssh/sshd_config
echo "完成"
echo "更换软件源更换为清华镜像"
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sudo apt-get update >> install.list
echo -e "安装一些必要软件:\nhtop glances net-tools neofetch samba"
sudo apt-get install vim htop glances net-tools neofetch samba -y >> install.list
echo "完成"
echo "卸载ufw、安装firewalld防火墙,并开放这两个端口用于SSH:"
sudo systemctl stop ufw
sudo systemctl disable ufw
sudo apt-get purge ufw -y > install.list
sudo apt-get install firewalld -y > install.list
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --zone=public --add-port=31400/tcp --add-port=34100/tcp --permanent
sudo firewall-cmd --reload
echo "以下端口已开放"
sudo firewall-cmd --list-port
echo "接下来我们将重启SSH服务,下次请更换31400端口重新登陆"
sudo systemctl reload ssh
echo "开放必要端口用于各种服务"
echo "TCP Usage UDP Usage
80 HTTP(CASAOS)
443 HTTPS(CASAOS)
445 SMB
59989 V2rayA
59990 V2rayA
59991 V2rayA
59992 V2rayA
59993 Aira2
59994 Aira2 59994 Aira2
59995 Syncthing
59996 Syncthing 59996 Syncthing
59997 Qbittorrent 59997 Qbittorrent
59998 WizNote
59999 FRPS 59999 FRPS
60000 FileBrowser
60001 Jellyfin
60002 Calibre
60003 Wiznote
60004 Syncthing WebUI
60005 Qbittorrent
60006 HomeAssistant
60007 Flare
60008 V2rayA
60009 FRPS
60010 Aira2 ">port
echo "$(<port)"
sudo firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --add-port=445/tcp --add-port=59989-59994/tcp --add-port=59996-59997/tcp --add-port=59999/tcp --add-port=60000-60010/tcp --permanent
sudo firewall-cmd --zone=public --add-port=59994-59999/udp --permanent
sudo firewall-cmd --reload
echo "以下端口已开放"
sudo firewall-cmd --list-port
echo "安装并启用docker"
sudo apt-get install docker docker.io -y >> install.list
sudo systemctl start docker
sudo systemctl enable docker
echo "docker已安装"
echo "拉取各种Docker镜像"
echo "sudo docker pull filebrowser/filebrowser
sudo docker pull jellyfin/jellyfin
sudo docker pull linuxserver/calibre-web
sudo docker pull wiznote/wizserver
sudo docker pull linuxserver/syncthing
sudo docker pull linuxserver/qbittorrent
sudo docker pull homeassistant/home-assistant
sudo docker pull soulteary/flare
sudo docker pull mzz2017/v2raya
sudo docker pull snowdreamtech/frpc
sudo docker pull snowdreamtech/frps" > docker.bash
bash docker.bash >>install.list
rm docker.bash
echo "镜像已下拉完成"
echo "集中创建镜像所需要的文件夹"
mkdir /database/{filebrowser,jellyfin,calibre,wiznote,syncthing,qbittorrent,homeassistant,flare,v2raya} -p
echo "完成"
echo "集中创建容器"
docker run --name=filebrowser --restart=always -d \
-v /data:/srv \
-v /database/filebrowser/filebrowserconfig.json:/etc/config.json \
-v /database/filebrowser/database.db:/etc/database.db \
-p 60000:80 \
filebrowser/filebrowser
echo"filebrowser 部署完成,端口60000"
docker run --name=jellyfin --restart=always -d \
-v /database/jellyfin/config:/config \
-v /srv/jellyfin/cache:/cache \
-v /data:/data \
-v /mnt:/mnt \
-p 60001:8096 \
jellyfin/jellyfin
echo"jellyfin 部署完成,端口60001"
docker run --name=calibre --restart=always -d \
-e USE_CONFIG_DIR=true \
-e SET_CONTAINER_TIMEZONE=true \
-e CONTAINER_TIMEZONE=Asia/Shanghai \
-e PGID=0 \
-e PUID=0 \
-v /database/calibre/books:/books \
-v /database/calibre/config:/calibre-web/config \
-p 60002:8083 \
linuxserver/calibre-web
echo"calibre 部署完成,端口60002"
docker run --name=wiznote --restart=always -d -it \
-v /database/wiznote:/wiz/storage \
-v /etc/localtime:/etc/localtime \
-p 60003:80 \
-p 59998:9269/udp \
wiznote/wizserver
echo"Wizserver 部署完成,端口60003"
docker run --name=syncthing --restart=always -d\
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-v /database/syncthing/config:/config \
-v /database/syncthing/photo:/photo \
-p 60004:8384 \
-p 59996:22000/tcp \
-p 59996:22000/udp \
-p 59995:21027/udp \
linuxserver/syncthing
echo"syncthing 部署完成,端口60004"
docker run --name=qbittorrent --restart unless-stopped -d\
--network=host \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e WEBUI_PORT=60005 \
-v /database/qbittorrent/config:/config \
-v /data:/data \
linuxserver/qbittorrent
echo"qbittorrent 部署完成,端口60005"
echo"请设置BT端口到59997"
docker run --name=homeassistant --restart=always -d \
-v /database/homeassistant/config:/config \
-p 60006:8123 \
homeassistant/home-assistant
echo"homeassistant 部署完成,端口60006"
docker run --name=flare --restart=always -d \
-it \
-v /database/flare:/app \
-p 60007:5005 \
soulteary/flare
echo"flare 部署完成,端口60007"
docker run --name=v2raya --restart=always -d \
--privileged --network=host \
-e V2RAYA_ADDRESS=0.0.0.0:60008 \
-e PUID=0 \
-e GUID=0 \
-v /lib/modules:/lib/modules:ro \
-v /etc/resolv.conf:/etc/resolv.conf \
-v /database/v2raya:/etc/v2raya \
mzz2017/v2raya
echo"v2raya 部署完成,端口60008"
docker create --name=frps --restart=always \
--network=host \
-v /database/frp/frps.ini:/etc/frp/frps.ini \
snowdreamtech/frps
echo"frps部署完成,端口未指定预留59999(TCP/UDP) 60009,稍后请自行配置"
docker run --name=aria2 --restart=always -d \
-v /data:/downloads \
-v /database/aria2/config:/config \
-e PUID=1000 \
-e GUID=1000 \
-e SECRET=ming2022 \
-e CACHE=2048M \
-e PORT=59993 \
-e BTPORT=59994 \
-e WEBUI=true \
-e WEBUI_PORT=60010 \
-e FA=falloc \
-p 60010:60010 \
-p 59993:59993 \
-p 59994:59994 \
-p 59994:59994/udp \
superng6/aria2
echo"aria2部署完成,WEB端口60010 RPC端口59993 BT端口59994(TCP/UDP)"
docker run -d \
--name=AutoBangumi \
-v /database/autoBangumi/config:/app/config \
-v /data/Manage/bangumu:/app/data \
-p 7892:7892 \
-e TZ=Asia/Shanghai \
-e PUID=1000 \
-e GUID=1000 \
-e UMASK=022 \
--network=bridge \
--dns=192.168.50.1 \
--restart always \
ghcr.io/estrellaxd/auto_bangumi:latest
echo"安装CASAOS作为管理页面"
curl -fsSL https://get.casaos.io | sudo bash
echo"完成"
echo "请按任意键退出。"
read -s -n1
感谢大佬分享.
Athrun 2023-12-19 05:55