分享下我现有的NAS方案。

22年的时候,因为租的房子网络只有100M,下载点电影或者电视剧需要很久,所以就想要一个24小时开机的“服务器”,遂组装了一台小主机。

当时为了省电,特意买了个带T的U:i3-10100T
内存直接怼到了64GB,带了4块机械硬盘,一个月大概15度电。

最开始的系统是centos7,当时要下载电视剧电影,因为大部分是网盘,要不就是迅雷,所以找到几个能用的:
迅雷的docker版本
https://github.com/cnk3x/xunlei
当时的启动命令:

docker run --name xunlei --restart always --network mynet -p 2345:2345 -v /home/xunlei:/xunlei/data -v /media/a/xunlei:/xunlei/downloads -d --privileged cnk3x/xunlei:latest

内测码是:迅雷牛通

阿里云盘的linux版本
https://github.com/tickstep/aliyunpan
当时的启动命令:

docker run -d --name=aliyunpan-sync --restart always -v "/media/a/sync:/home/app/data" -e TZ="Asia/Shanghai" -e ALIYUNPAN_REFRESH_TOKEN="xxx" -e ALIYUNPAN_DOWNLOAD_PARALLEL=5 -e ALIYUNPAN_PAN_DIR="/sync" -e ALIYUNPAN_SYNC_MODE="download" -e ALIYUNPAN_VERBOSE=1 tickstep/aliyunpan-sync:v0.2.6

取token:JSON.parse(localStorage.getItem("token")).refresh_token

百度网盘的docker版本

当时的启动命令:

docker run --name baidunetdisk --network mynet --restart always -v /home/baidunetdisk:/config -v /media/c/baidunetdisk:/config/baidunetdiskdownload -d johngong/baidunetdisk:latest

这些软件都是属于基本能用状态,但是毕竟不是官方维护,所以有时候根本无法使用。
所以我把linux换成了windows版本,win有个好处就是直接能运行那些网盘app,不需要再费劲心思的找那些linux版本了。
因为是需要24小时开机,非服务器版本的windows怕开久了会卡顿,所以找了官方的Windows Server镜像,安装了Windows Server 2022 Standard,这下好了,软件生态全了。


但是还有个问题:因本地开发需要,我需要跑一些linux应用,例如mysql,redis等。所以我第一次的尝试是使用WSL的Docker Desktop,除了不支持 --network host 其它还好,但是开机久了发现了问题:内存泄露。不知道为什么 Docker WSL 2 会有内存泄露问题,开机两天后内存占用80%多(不知道现在的版本是否还有这个问题),所以折腾来折腾去重装系统了,重装的系统还是windows,但是docker不用wsl2了,改成了vmware虚拟机里边跑linux,linux安装docker。
linux当时发现centos变成stream了,所以选了

然后直接安装的docker。


虚拟机直接给了32g内存。
网络改成桥接,这样虚拟机就有独立的ip了。
原来的docker deskop可以直接管理docker容器,现在换成了

https://github.com/portainer/portainer
很少用docker compose,喜欢一行命令

docker run --name portainer --network host --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /home/portainer:/data -d portainer/portainer-ce:sts

支持host网络直接通过vm的ip访问9000端口就可以进入portainer
OK,基本环境大概就这些,现在这样就基本满足我的需求:
下载:有windows版本的网盘或者下载客户端
基础服务:有docker,可以安装mysql redis什么的。

还有些杂的:
比如搭了个ELK平台收集日志

DDNS-GO做动态DNS等等。

11 个赞

分享几个觉得很实用的docker镜像:
rustdesk:远程桌面

compose.yml

name: rustdesk
services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - /home/itning/dockerdata/rustdesk:/root
    network_mode: "host"
    depends_on:
      - hbbr
    restart: always

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - /home/itning/dockerdata/rustdesk:/root
    network_mode: "host"
    restart: always

直接 docker compose up -d

samba服务器,用来在windows上访问linux的文件

docker run --name samba --restart always -d -p 139:139 -p 445:445 --hostname $HOSTNAME -e TZ=Asia/Shanghai \
    -v /:/share/folder elswork/samba \
    -u "$(id -u):$(id -g):$(id -un):$(id -gn):root" \
    -s "root:/share/folder:rw:$(id -un)"

你这样不如用exsi或者pve当底层 vm软件虚拟机不如exsi这种系统级

远程访问,因为搬家后有了公网IP,所以直接就开了白名单

速度还不错,如果没有公网ip可以试下frp吧,搭配一个某云平台的服务器,速度也可以:

这样硬盘怎么办?只能硬盘直通,还不如现在的我直接宿主机访问nas的硬盘。

pve什么的可以直通很方便 而且nas不考虑软raid吗

有这个:


简单备份,不需要raid。

图1是你的猫吗

是的啊

真可爱
但我看着感觉他似乎病了,要不寄到我这儿我帮你看看?