登录后台

页面导航

本文编写于 1066 天前,最后修改于 751 天前,其中某些信息可能已经过时。

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

已有 1 条评论