旧电脑别扔!改造成家庭服务器完整指南

本文分享如何将淘汰的旧电脑改造成实用的家庭服务器,发挥余热,省钱又好玩。

前言

家里有台旧电脑,卖二手不值钱,扔了又可惜。

其实它完全可以改造成家庭服务器

  • 文件存储/NAS
  • 下载机
  • 影音服务器
  • 软路由
  • 开发测试环境
  • 智能家居中枢

今天来聊聊如何让旧电脑焕发第二春。


一、硬件评估

1.1 最低配置要求

组件 最低要求 推荐配置
CPU 双核 四核(i3/i5级别)
内存 4GB 8GB+
硬盘 120GB SSD SSD系统盘 + 机械存储盘
网卡 千兆网卡 千兆(必须)

1.2 哪些旧电脑适合

✅ 适合改造:

  • 5-10年前的台式机(i3/i5/i7)
  • 企业淘汰的办公电脑
  • 旧笔记本(散热是问题)
  • 小主机(NUC、迷你PC)

⚠️ 需要考虑:

  • 功耗(老U功耗高)
  • 散热(7x24运行)
  • 噪音(放客厅的话)

❌ 不太适合:

  • 太老的CPU(酷睿2以前)
  • 内存小于4GB且无法扩展
  • 只有百兆网卡

1.3 建议升级

优先级排序:

  1. 加SSD(提升最明显)
  2. 扩内存(跑Docker必备)
  3. 换千兆网卡(如果是百兆)
  4. 加硬盘(扩展存储)

花费估算:

  • 120GB SSD: 80元
  • 8GB DDR3内存: 50元
  • 千兆网卡: 30元
    总计: 160元左右

二、系统选择

2.1 系统对比

系统 特点 适合人群
Ubuntu Server 通用,资料多 Linux新手
Debian 稳定,资源占用少 追求稳定
Proxmox VE 虚拟化平台 想玩虚拟机
TrueNAS 专业NAS系统 重度存储需求
OpenWrt 软路由 网络折腾党
CasaOS 简单易用 小白用户

2.2 推荐:Ubuntu Server

对于大多数人,推荐Ubuntu Server:

  • 社区资源丰富
  • Docker支持好
  • 上手简单
# 下载Ubuntu Server 22.04 LTS
# 制作启动U盘(用Rufus或balenaEtcher)
# 安装时选择最小化安装

2.3 系统安装要点

# 安装时注意:
# 1. 分区建议
#    - /boot: 1GB
#    - /: 50GB (SSD)
#    - /home: 剩余SSD空间
#    - /data: 机械硬盘(存储用)

# 2. 安装OpenSSH Server(必选)
# 3. 设置静态IP

# 安装后基础配置
sudo apt update && sudo apt upgrade -y
sudo apt install -y vim curl wget htop net-tools

# 设置静态IP
sudo nano /etc/netplan/00-installer-config.yaml
network:
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 223.5.5.5
          - 8.8.8.8
  version: 2
sudo netplan apply

三、Docker环境搭建

3.1 安装Docker

# 一键安装
curl -fsSL https://get.docker.com | sh

# 添加当前用户到docker组
sudo usermod -aG docker $USER

# 重新登录后验证
docker --version
docker run hello-world

3.2 安装Docker Compose

sudo apt install docker-compose-plugin

# 验证
docker compose version

3.3 安装Portainer(可视化管理)

docker volume create portainer_data

docker run -d -p 9000:9000 --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce

访问 http://服务器IP:9000 设置管理账号。


四、实用服务部署

4.1 文件共享(Samba)

sudo apt install samba -y

# 创建共享目录
sudo mkdir -p /data/share
sudo chmod 777 /data/share

# 配置Samba
sudo nano /etc/samba/smb.conf
[share]
path = /data/share
browseable = yes
writable = yes
guest ok = no
create mask = 0755
# 设置Samba密码
sudo smbpasswd -a $USER

# 重启服务
sudo systemctl restart smbd

Windows访问:\\192.168.1.100\share

4.2 下载工具(qBittorrent)

docker run -d --name=qbittorrent \
  -e PUID=1000 -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e WEBUI_PORT=8080 \
  -p 8080:8080 -p 6881:6881 -p 6881:6881/udp \
  -v /data/qbittorrent/config:/config \
  -v /data/downloads:/downloads \
  --restart unless-stopped \
  linuxserver/qbittorrent

访问 http://服务器IP:8080,默认账号admin/adminadmin。

4.3 影音服务器(Jellyfin)

docker run -d --name=jellyfin \
  -e PUID=1000 -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -p 8096:8096 \
  -v /data/jellyfin/config:/config \
  -v /data/media:/media \
  --restart unless-stopped \
  jellyfin/jellyfin

访问 http://服务器IP:8096,支持硬解需要额外配置。

4.4 照片管理(Immich)

# 创建目录
mkdir -p /data/immich && cd /data/immich

# 下载docker-compose文件
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget https://github.com/immich-app/immich/releases/latest/download/.env.example -O .env

# 修改.env配置
nano .env

# 启动
docker compose up -d

访问 http://服务器IP:2283

4.5 密码管理(Vaultwarden)

docker run -d --name=vaultwarden \
  -e ADMIN_TOKEN=your_admin_token \
  -p 8000:80 \
  -v /data/vaultwarden:/data \
  --restart unless-stopped \
  vaultwarden/server

4.6 一键部署脚本

# 创建docker-compose.yml一次性部署多个服务
cat > /data/docker-compose.yml << 'EOF'
version: '3'

services:
  portainer:
    image: portainer/portainer-ce
    ports:
      - 9000:9000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: unless-stopped

  qbittorrent:
    image: linuxserver/qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - WEBUI_PORT=8080
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    volumes:
      - /data/qbittorrent/config:/config
      - /data/downloads:/downloads
    restart: unless-stopped

  jellyfin:
    image: jellyfin/jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    ports:
      - 8096:8096
    volumes:
      - /data/jellyfin/config:/config
      - /data/media:/media
    restart: unless-stopped

volumes:
  portainer_data:
EOF

# 启动所有服务
docker compose up -d

五、远程访问方案

服务器搭好了,如何在外面访问?

5.1 方案对比

方案 优点 缺点
端口映射 直接 需要公网IP,安全风险
DDNS 动态IP可用 仍需公网IP
内网穿透 无需公网IP 免费版限速
组网软件 简单安全 需安装客户端

5.2 组网方案(推荐)

使用组网软件(如星空组网)是最简单的方案:

原理:
┌─────────────┐         ┌─────────────┐
│  家里服务器  │ ←组网→  │  外面的手机  │
│ 10.10.0.1   │         │  10.10.0.2  │
└─────────────┘         └─────────────┘

访问方式:
- 文件共享:\\10.10.0.1\share
- 下载管理:http://10.10.0.1:8080
- 影音播放:http://10.10.0.1:8096

配置步骤:

  1. 服务器安装组网客户端
  2. 手机/电脑也安装客户端
  3. 登录同一账号
  4. 自动分配虚拟IP
  5. 通过虚拟IP访问所有服务

优势:

  • 不需要公网IP
  • 不需要端口映射
  • 所有端口都能访问
  • 加密传输,安全
  • 配置一次,永久使用

六、系统优化

6.1 降低功耗

# 安装cpufrequtils
sudo apt install cpufrequtils

# 设置节能模式
sudo cpufreq-set -g powersave

# 开机自动设置
echo 'GOVERNOR="powersave"' | sudo tee /etc/default/cpufrequtils

6.2 硬盘休眠

# 安装hdparm
sudo apt install hdparm

# 设置5分钟无操作休眠
sudo hdparm -S 60 /dev/sdb

# 写入配置文件
sudo nano /etc/hdparm.conf
# /dev/sdb {
#     spindown_time = 60
# }

6.3 减少SSD写入

# 使用tmpfs
sudo nano /etc/fstab
# 添加:
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=1g 0 0

6.4 定时任务

# 每天凌晨3点更新Docker镜像
crontab -e

0 3 * * * docker compose -f /data/docker-compose.yml pull && docker compose -f /data/docker-compose.yml up -d

# 每周清理Docker垃圾
0 4 * * 0 docker system prune -f

七、监控与维护

7.1 系统监控

# 安装Netdata(一键监控)
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

# 访问 http://服务器IP:19999

7.2 硬盘健康检查

# 安装smartmontools
sudo apt install smartmontools

# 查看硬盘健康
sudo smartctl -a /dev/sda

# 定期检查脚本
cat > /usr/local/bin/check_disk.sh << 'EOF'
#!/bin/bash
for disk in /dev/sd?; do
    health=$(sudo smartctl -H $disk | grep "SMART overall-health" | awk '{print $NF}')
    echo "$disk: $health"
done
EOF
chmod +x /usr/local/bin/check_disk.sh

7.3 温度监控

# 安装lm-sensors
sudo apt install lm-sensors
sudo sensors-detect

# 查看温度
sensors

八、总结

旧电脑改造服务器要点:

  1. 硬件评估:SSD必加,内存8GB起
  2. 系统选择:Ubuntu Server通用性最好
  3. Docker部署:所有服务容器化
  4. 远程访问:组网软件最简单安全
  5. 定期维护:监控、备份、更新

我的配置参考:

硬件:i5-4590 + 16GB内存 + 256GB SSD + 4TB机械盘
系统:Ubuntu Server 22.04
服务:Samba + qBittorrent + Jellyfin + Vaultwarden
远程:星空组网
功耗:待机约30W

一台旧电脑,投入一两百块升级,就能变成实用的家庭服务器,比买NAS便宜多了。


参考资料

  1. Ubuntu Server官方文档
  2. Docker官方文档
  3. LinuxServer.io

💡 建议:先从简单的服务开始(文件共享),熟悉后再添加其他服务。一步步来,不要一次装太多。


posted @ 2025-12-15 15:58  花宝宝  阅读(38)  评论(0)    收藏  举报