前段时间买了一台oect,刷了armbian系统
一、刷机
首先安装刷机驱动,接着打开刷机软件。如果是初次刷机,需要拆机短接1v8和GND,我之前刷过机了,只需要用取卡针摁住reset小孔,再插上typec数据线即可

同样,由于之前刷过机,只需要刷入armbian镜像文件,点击执行,右边出现下载完成就好了

二、一些设置
插上网线通电开机,在路由器后台看一下ip地址,用终端工具进行ssh连接,初始密码1234,改一下密码
先装个1panel
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
安装完成,ip:端口/安全入口 进入

小主机内置的是8g emmc,装完系统就不剩多少了,所以先挂载一下插在里面的sata硬盘
其实直接用1panel的磁盘管理就可以挂载,但是我弄完了才知道 :innocent:
mkdir -p /mnt/disk
lsblk #查看sata硬盘分区名
blkid #查看硬盘UUID
nano /etc/fstab
#在文件底部填入
UUID= /mnt/disk auto defaults,nofail 0 2
添加docker镜像源,我添加的是毫秒镜像https://docker.1ms.run

把docker迁移到sata硬盘
systemctl stop docker docker.socket #停止docker服务
mkdir -p /mnt/disk/docker
rsync -avzP /var/lib/docker/ /mnt/disk/docker/
nano /etc/docker/daemon.json
#在镜像源上面添加
"data-root": "/mnt/disk/docker",
systemctl start docker docker.socket #启动docker服务
三、安装需要的docker容器
在1panel的容器页面,点击编排,创建编排,以下是我需要使用的
version: '3.8'
services:
sun-panel:
image: hslr/sun-panel:latest
container_name: sun-panel
restart: always
ports:
- "3002:3002"
volumes:
- /mnt/disk/tools/sun-panel/conf:/app/conf
- /var/run/docker.sock:/var/run/docker.sock
network_mode: "bridge"
aria2-pro:
image: p3terx/aria2-pro
container_name: aria2-pro
restart: always
logging:
options:
max-size: "1m"
network_mode: host
environment:
- PUID=0
- PGID=0
- RPC_SECRET=aria2
- RPC_PORT=6800
- LISTEN_PORT=6888
- IPV6_MODE=true
volumes:
- /mnt/disk/tools/aria2/config:/config
- /mnt/disk/downloads:/downloads
ariang:
image: p3terx/ariang
container_name: ariang
restart: always
logging:
options:
max-size: "1m"
network_mode: host
command: --port 6880 --ipv6
depends_on:
- aria2-pro
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: always
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- WEBUI_PORT=8088
- TORRENTING_PORT=16881
volumes:
- /mnt/disk/tools/qbittorrent/config:/config
- /mnt/disk/downloads:/downloads
network_mode: host
transmission:
image: linuxserver/transmission:latest
container_name: transmission
restart: always
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- /mnt/disk/tools/transmission/data:/config
- /mnt/disk/downloads:/downloads
- /mnt/disk/downloads/watch:/watch
network_mode: host
siyuan:
image: b3log/siyuan
container_name: siyuan
restart: always
ports:
- "6806:6806"
environment:
- PUID=1000
- PGID=1000
- SIYUAN_ACCESS_AUTH_CODE_BYPASS=true
volumes:
- /mnt/disk/tools/siyuan/workspace:/mnt/disk/tools/siyuan/workspace
command:
- --workspace=/mnt/disk/tools/siyuan/workspace/
- --lang=zh_CN
network_mode: "bridge"
cloud-saver:
image: jiangrui1994/cloudsaver:latest
container_name: cloud-saver
restart: always
ports:
- "8010:8008"
volumes:
- /mnt/disk/tools/cloudsaver/data:/app/data
- /mnt/disk/tools/cloudsaver/config:/app/config
network_mode: "bridge"
v2raya:
image: mzz2017/v2raya
container_name: v2raya
restart: always
privileged: true
network_mode: host
volumes:
- /mnt/disk/tools/v2raya:/etc/v2raya
- /lib/modules:/lib/modules:ro
- /etc/resolv.conf:/etc/resolv.conf
environment:
- V2RAYA_LOG_FILE=/tmp/v2raya.log
- V2RAYA_V2RAY_BIN=/usr/local/bin/v2ray
- V2RAYA_NFTABLES_SUPPORT=off
- IPTABLES_MODE=legacy
openlist:
image: openlistteam/openlist:latest
container_name: openlist
restart: always
ports:
- "5544:5244"
volumes:
- /mnt/disk/tools/openlist:/opt/openlist/data
user: "0:0"
environment:
- UMASK=022
network_mode: bridge
rclone:
image: rclone/rclone:latest
container_name: rclone
restart: unless-stopped
privileged: true
volumes:
- /mnt/disk/tools/rclone/config:/config/rclone
- /mnt/disk/rclone_mount:/mnt/disk/rclone_mount:shared
- /mnt/disk/tools/rclone/cache:/cache
command: 'mount openlist: /mnt/disk/rclone_mount/media --allow-other --cache-dir /cache --vfs-cache-mode full --vfs-cache-max-size 10G --vfs-read-ahead 1G --buffer-size 256M --header "Referer:"'
depends_on:
- openlist
jellyfin:
image: nyanmisaka/jellyfin:latest-rockchip
container_name: jellyfin
privileged: true
ports:
- "8096:8096"
volumes:
- /mnt/disk/tools/jellyfin/config:/config
- /mnt/disk/tools/jellyfin/tmp:/cache
- /mnt/disk/rclone_mount/media:/media
devices:
- /dev/dri:/dev/dri
- /dev/dma_heap:/dev/dma_heap
- /dev/mali0:/dev/mali0
- /dev/rga:/dev/rga
- /dev/mpp_service:/dev/mpp_service
- /dev/iep:/dev/iep
- /dev/mpp-service:/dev/mpp-service
- /dev/vpu_service:/dev/vpu_service
- /dev/vpu-service:/dev/vpu-service
- /dev/hevc_service:/dev/hevc_service
- /dev/hevc-service:/dev/hevc-service
- /dev/rkvdec:/dev/rkvdec
- /dev/rkvenc:/dev/rkvenc
- /dev/vepu:/dev/vepu
- /dev/h265e:/dev/h265e
restart: unless-stopped
depends_on:
- rclone
在面板设置,将默认访问地址设置为oect的ip地址
容器页跳转到openlist地址,点击日志查看初始密码

我挂载了一个夸克网盘

设置一下rclone,先改一下编排

终端添加webdav
docker exec -it rclone rclone config
将编排改回来
jellyfin开启硬件加速,gpu是调用了,就是效果不咋地,不过用客户端播放还是没问题的


四、DDNS设置
我使用ddns-go,直接在1panel应用商店安装
我的域名托管在cloudflare,创建一个域名api令牌,因为我只有公网ipv6,所以只启用了ipv6的ddns :innocent:这样就可以在外访问我的oect了
我手里这台oect只刷过armbian和黑群晖,却是已经刷过不少次了,我拿到手时机器还是昔映os,短接刷机失败很多次,不是下载boot失败就是测试设备失败,下载boot失败这个问题只出现过几次,只要短接到位就可以下载成功。至于测试设备失败的问题我是通过短接1v8和DEBUG的GND解决的。之后刷黑群晖提示恢复设备,但是点击恢复页无法成功安装,格式化sata硬盘后解决了,但是我只体验了一小会儿就没用了。之后有跟着b站教程装pve,整不明白,放弃了。兜兜转转还是用armbian。
摸了半天其实就搭了个jellyfin,想装个docker版的istoreos,后面有时间找找吧
评论区