20251228群晖安装1panel

写于 2025-12-28

  • 使用docker-compose安装1panel

​ 1Panel 是一款开源的 Linux 服务器运维管理面板,由飞致云(FIT2CLOUD)开发,Go 语言后端 + Vue 前端,可以理解为"现代化的宝塔面板替代品"。装完后通过 Web 界面管理服务器,不用手敲命令。

主要功能

1. 网站管理
   - 内置 OpenResty(Nginx),图形化创建网站、反向代理、域名绑定
   - 一键申请 Let's Encrypt 证书并自动续期,支持 DNS-01 验证申请通配符证书(填好阿里云/腾讯云/Cloudflare 的 API Key 即可)——正好能解决你 liufeisheng.cn 证书过期没人续的问题
   - 支持静态站点、PHP 站点、反向代理站点

2. 应用商店
   - 以 Docker 容器方式一键部署 WordPress、MySQL、Redis、PostgreSQL、MongoDB、MinIO、Nginx、各种博客/CRM 系统等,自动处理镜像、数据卷和升级

3. 数据库管理
   - 图形化建库建用户、改密码、备份,配合 phpMyAdmin / Adminer 等

4. Docker 容器管理
   - 容器、镜像、数据卷、网络、Compose 编排都能在界面上操作

5. 主机运维
   - 文件管理器、终端(网页 SSH)、进程/资源监控、定时任务、防火墙端口管理、SSH 配置
   - 计划任务 + 一键备份(网站/数据库到本地或 S3、阿里云 OSS、SFTP 等)

6. 其他
   - 多用户/多服务器管理、操作日志、WAF 防火墙(OpenResty 插件)等

典型使用场景

- 个人开发者/小团队买了云服务器,想可视化建站、部署服务,不想记一堆 Linux 命令
- 统一管理多个网站、数据库和容器,自动搞定 HTTPS 证书
- 替代商业/付费面板(如宝塔),追求开源、界面现代、API 友好

群晖 x86_64 架构部署 1Panel 详细步骤

一、前置准备(必做!)

1. 确认群晖环境

  • 架构要求:必须是 x86_64 架构(如群晖 DS920+、DS423+ 等,可在「控制面板→信息中心→常规」查看 “处理器架构”);
  • Docker 套件:已安装群晖官方「Docker」套件(在「套件中心」搜索 “Docker” 安装,确保版本 ≥ 20.10);
  • SSH 权限:启用群晖 SSH 服务(后续需通过命令行操作)。

2. 启用群晖 SSH 服务

  1. 登录群晖 DSM 管理界面,进入「控制面板→终端机和 SNMP」;
  2. 勾选「启用 SSH 服务」,默认端口为 22(若需修改,需记录新端口),点击「应用」;
  3. (可选,提升权限)若当前账号非管理员,需在「控制面板→用户账号」中,将当前账号加入「administrators」组,确保拥有 sudo 权限。

3. 准备工具与信息

  • SSH 客户端:Windows 用 PuTTY、FinalShell;macOS/Linux 用自带终端;
  • 群晖信息:记录群晖「局域网 IP」(如 192.168.1.100)、SSH 端口(默认 22)、管理员账号密码;
  • 存储路径:提前规划 1Panel 数据存储路径(推荐用「volume1」卷,如 /volume1/docker/1panel,后续需用到)。

二、步骤 1:通过 SSH 连接群晖

  1. 打开 SSH 客户端,输入群晖局域网 IP 和 SSH 端口(如 ssh admin@192.168.1.100 -p 22);
  2. 输入管理员密码(输入时不显示字符,输完按回车即可),成功登录后界面会显示群晖主机名(如 admin@DS920:~$)。

三、步骤 2:创建 1Panel 数据目录(避免数据丢失)

在 SSH 终端中执行以下命令,创建持久化存储目录(路径可自定义,建议用 /volume1/docker/1panel):

# 创建 1Panel 主目录
mkdir -p /volume2/docker/1panel
# 创建子目录(用于映射容器数据,避免覆盖系统文件)
mkdir -p /volume2/docker/1panel/opt
mkdir -p /volume2/docker/1panel/root
mkdir -p /volume2/docker/1panel/volumes
  • 说明:这些目录用于存储 1Panel 配置、应用数据、Docker 卷数据,删除容器后数据不会丢失。

四、步骤 3:拉取 1Panel 镜像(x86_64 专用)

群晖 x86_64 架构推荐使用「moelin/1panel」或「koryking/1panel」镜像(官方未提供群晖专属 Docker 镜像,这两个第三方镜像已适配群晖 systemd 限制),执行拉取命令:

# 拉取最新版 1Panel 镜像(x86_64 兼容)
sudo docker pull moelin/1panel:latest
  • 等待镜像拉取完成(界面显示「Status: Downloaded newer image for moelin/1panel:latest」即为成功)。

五、步骤 4:创建并启动 1Panel 容器(核心步骤)

在/volume2/docker/1panel/下创建docker-compose.yml,内容如下

# 版本声明(兼容绝大多数 Docker 版本,无需修改)
version: '3.8'

# 服务定义
services:
  # 1Panel 服务(名称可自定义,对应原 --name 1panel)
  1panel:
    # 镜像名称(与原命令一致)
    image: moelin/1panel:latest
    # 容器名称(与原命令一致,便于识别)
    container_name: 1panel
    # 网络模式(与原命令一致,使用主机网络,避免端口映射冲突)
    network_mode: host
    # 重启策略(与原命令一致,始终自动重启)
    restart: always
    # 数据卷挂载(对应原命令的 -v 参数,路径完全复用你的配置)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock  # 关键:让1Panel管理群晖Docker
      - /volume2/docker/1panel/volumes:/var/lib/docker/volumes
      - /volume2/docker/1panel/opt:/opt
      - /volume2/docker/1panel/root:/root
    # 环境变量(对应原命令的 -e 参数,完全复用你的配置)
    environment:
      - TZ=Asia/Shanghai  # 时区配置,避免时间错乱
      - PANEL_PORT=8086   # 1Panel访问端口
      - PANEL_ENTRANCE=1p # 1Panel安全访问入口
      - PANEL_USERNAME=fei # 登录用户名
      - PANEL_PASSWORD= *** # 登录密码(已满足复杂度要求)

然后docker-compose up -d执行

  • 参数说明:
  • --name 1panel:容器名,后续管理用;
  • --restart always:群晖重启后自动启动容器;
  • --network host:使用主机网络,避免端口映射冲突;
  • /var/run/docker.sock:关键映射,让 1Panel 能管理群晖 Docker 容器;
  • TZ=Asia/Shanghai:设置时区为上海,避免时间错乱;
  • PANEL_PORT=8086:1Panel 访问端口(可修改为未占用端口,如 8088);
  • PANEL_ENTRANCE=entrance:安全入口(访问时需加路径,如 http://IP:10086/entrance,可自定义)。

六、步骤 5:验证容器启动状态

执行以下命令,确认 1Panel 容器是否正常运行:

# 查看容器状态
sudo docker ps | grep 1panel
  • 若输出结果中包含 moelin/1panel:latest 且「STATUS」为「Up X minutes」,说明容器启动成功;
  • 若启动失败,执行 sudo docker logs 1panel 查看日志,排查错误(常见原因:端口占用、目录权限不足)。

七、步骤 6:访问 1Panel 管理界面

1. 本地访问(局域网)

  1. 打开浏览器,输入地址:

http://群晖局域网IP:端口/安全入口

(如

http://192.168.1.100:10086/entrance

);

  • 若用方案 2 自定义了安全入口,需替换为自定义内容(如 http://192.168.1.100:10086/my1panel);
  1. 输入用户名和密码(方案 1 默认为 admin/1panel_password;方案 2 为自定义账号密码),登录成功后进入 1Panel 首页。

2. 外网访问(可选)

若需通过外网访问 1Panel,需配置群晖端口转发(结合你之前的 FRP 配置):

  1. 参考你之前的 frpc.toml 配置,新增一条 FRP 代理规则,将群晖 1Panel 端口(如 10086)映射到云服务器;
  2. 在云服务器 Nginx 中配置对应的域名转发(确保 HTTPS 证书生效),避免直接暴露端口。

八、步骤 7:初始化 1Panel 配置(首次登录)

  1. 登录后,先进入「系统设置→安全中心」,修改默认密码(若用方案 1,默认密码安全性低);
  2. 启用「2FA 双因素认证」(可选,提升账号安全);
  3. 进入「容器」模块,确认能正常识别群晖现有 Docker 容器(如之前的 FRP 容器),说明 docker.sock 映射成功;
  4. (可选)进入「应用商店」,尝试安装简单应用(如 Redis),验证 1Panel 功能正常。

九、常见问题与避坑指南

1. 容器启动失败,提示「permission denied」

  • 原因:目录权限不足,群晖默认用户对 /volume1/docker 目录可能无写入权限;
  • 解决:执行 sudo chmod -R 755 /volume1/docker/1panel 赋予目录权限,重新启动容器。

2. 访问界面提示「404 Not Found」

  • 原因:安全入口输入错误,或端口被占用;
  • 解决: 1. 执行 sudo docker inspect 1panel | grep PANEL_ENTRANCE 查看正确的安全入口; 2. 执行 sudo lsof -i :10086 查看端口是否被占用,若占用则修改 PANEL_PORT 后重启容器。

3. 1Panel 无法管理群晖 Docker 容器

  • 原因:未正确映射 /var/run/docker.sock 文件,或群晖 Docker 服务未启动;
  • 解决: 1. 执行 sudo ls /var/run/docker.sock 确认文件存在; 2. 在群晖 DSM 中重启「Docker」套件,再重启 1Panel 容器:sudo docker restart 1panel。

十、卸载 1Panel(如需)

若后续需卸载 1Panel,执行以下命令(数据目录可保留或删除):

# 停止并删除容器
sudo docker stop 1panel && sudo docker rm 1panel
# 删除镜像(可选)
sudo docker rmi moelin/1panel:latest
# 删除数据目录(可选,彻底清理)
sudo rm -rf /volume1/docker/1panel

通过以上步骤,可在群晖 x86_64 架构上稳定部署 1Panel,且避免与你现有的 Nginx、FRP 配置冲突。若在应用安装或容器管理中遇到问题,可通过 1Panel 「日志中心」查看详细报错信息。