组这台主机一方面是暑假的时候由于笔记本上运行着各种各样的服务,所以电脑需要常年开着。但是24h不关机的电脑对于家里其他人来说有点过于新奇了,两个月内我因为电脑不关机被骂了很多次。另一方面是我馋独属于docker的应用很久了。

主机配置

  • 准系统:惠普800G5DM 299+30
  • 处理器:i3-8100(可换G5400) 150
  • 内存:杂牌笔记本内存8g*2 100
  • 硬盘:杂牌m2固态 1t 260
  • 总价:839

使用体验

HP800G4DM整机体积小巧,仅有手掌大小,支持DP*2,HDMI*1输出。且散热做工优良,风扇在运行时几乎无噪音。搭载i3-8100与Debian12系统整机空载功耗15W,日常使用功耗在25W左右。

目前部署了WIKI.JS、EMBY、AutoBangumi、immich、navidrome、qbittorrent、kavita、Alist,同时开启了smb文件共享。用于个人追番,音乐、小说、相册管理。在运行上述服务的同时可以流畅运行办公软件进行简单的办公。满足了linux学习机,办公主机以及个人服务器的需求。

Debian12系统安装流程

获取安装镜像并制作启动盘

首先前往debian12官网下载安装镜像,如果在安装时无法联网可以选择完整安装镜像。下载完成后使用balenaEtcher烧录启动盘。

安装流程

首先将启动盘插入主机,然后在启动的时候连续按F10或Delete,随后会进入主板bios。进入后在advance选项中找到boot config。进入讲启动引导顺序改为usb优先。如果机器硬盘内有其它系统还需要关闭快速引导选项。

更改完成后保存,然后重新启动就可以进入Debian12安装界面。进入后选择第一个Graphic install进入图形化安装界面。随后跟随引导安装即可。

注意

  • root账户密码与普通用户密码一定要牢记,尤其是root账户密码
  • 桌面环境推荐选用KDE Plasma环境
  • 如果买来的硬盘内存在已有分区,分区时需要选用整个硬盘
  • 如果是在线安装软件源推荐选用清华源

设置

1.加入sudo用户组
将当前用户加入sudo用户组以使用sudo命令。

# 切换root用户
sudo -
# 加入sudo用户组
usermod -aG sudo 要加入的用户名

加入后重启电脑以应用更改。

2.更换国内源
将Debian12换为清华源,在国内大概率可以更快下载软件。(如果在在线安装软件包的时候选择了清华源就没必要进行这一步了)

# 打开源文件
sudo nano /ect/apt/sources.list

# 将文件内内容用以下内容替换
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

更换之后可以使用下列命令更新软件

# 更新软件包信息
sudo apt update
# 更新软件
sudo apt upgrade

服务部署思路

最开始搭建linux服务器的想法是想进一步简化RSS追番操作流程以及实现新番文件的外部存储。所以Autobangumi以及EMBY是必须要配置的。Autobangumi需要qbittorrent。RSS订阅更新需要配置代理,因此需要安装代理软件,这里使用的是shellCrash。之后又部署了navidrome作为音乐服务器,部署了immich作为相册,部署了kavita作为轻小说管理软件。

上述服务大多使用docker部署。所以docker的核心命令docker run和docker-compose up需要仔细了解。

docker部署容器常用方法

docker安装

注意以下操作需要root权限,可以先运行sudo -i命令获取root权限
1.安装必要系统工具

sudo apt update
sudo apt upgrade -y
sudo apt -y install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates

2.安装docker

sudo apt install docker.io
# 开启docker服务并设置自动启动
sudo service docker start
sudo systemctl enable socker

3.安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装是否成功
docker-compose --version

docker run

docker重点关心两个核心参数。-p与-v。docker的原理是创建一个小的虚拟环境,在虚拟环境中集成了软件运行需要的各种环境,只留出对应的接口进行访问。-p与-v分别决定了两个核心的接口,端口和存储目录。

docker run -d \
  --name=AutoBangumi \
  -v /AutoBangumi/config:/app/config \
  -v /AutoBangumi/data:/app/data \
  -p 7892:7892 \
  -e TZ=Asia/Shanghai \
  -e PUID=(id -u) \
  -e PGID=(id -g) \
  -e UMASK=022 \
  --network=bridge \
  --dns=8.8.8.8 \
  --restart unless-stopped \
  ghcr.io/estrellaxd/auto_bangumi:latest

以上面的命令为例,name为docker容器的名字。-v定义的是外部环境与虚拟机内部存储目录的映射情况,-p定义的是外部环境与内部端口的映射情况。格式为外部目录(端口):内部目录(端口),在docker容器部署时需要进行修改的也只有这两个参数的冒号左侧部分。

例如外部7892端口被占用,我要将7892端口更改为其他端口,我可以将-p参数改为-p 8892:7892这样就将外部的8892端口映射到内部的7892端口。存储目录也类似。

docker-compose

docker-compose是另一种部署docker容器的方式,其部署流程为在希望部署的目录内新建一个名为docker-compose.yml的文件,里面包含了和docke run命令相同的信息。执行docker-compose up -d后读取docker-compose.yml的配置信息新建容器。

version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000 # should be owner of volumes
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      # Optional: put your config options customization here. Examples:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
    volumes:
      - "/path/to/data:/data"
      - "/path/to/your/music/folder:/music:ro"

以上面的命令为例,需要关注的信息还是只有端口映射关系与存储目录映射关系。二者分别对应prots后的参数与volumes后的参数。与docker run命令类似其格式均为外部目录(端口):内部目录(端口),部署时根据自己的需求修改即可。

shellcrash代理软件设置

目前docker软件源在国内已经无法正常访问了。虽然可以通过修改镜像源的方式进行访问.但是考虑到后续RSS追番也需要设置代理。所以在安装完docker后设置代理即可。

这里使用的软件为shellcrash。注意shellcrash只是一个代理软件,使用时需要代理服务器。而代理服务器需要自行购买。

sudo -i
apt-get install curl
bash
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellCrash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh  && bash /tmp/install.sh && source /etc/profile &> /dev/null

执行完命令后输入crash进入安装界面,而后选择1.在线生成clash配置文件,而后复制代理服务器提供的clash配置连接后回车,输入1开始自动生成配置文件。生成结束后按照指示启动服务即可。启动后进入4.内核启动设置即可设置开机自启

对于需要填入代理端口的软件,可以输入crash后选择7.内核进阶设置即可看到代理端口等信息。

到这里已经将部署docker容器前的所有需要准备的已经准备结束了,之后只需要对照官方文档复制命令并运行就可以了。

此作者没有提供个人介绍
最后更新于 2024-10-18