>

适用场景:手里有 VPS / NAS / 家庭服务器,不想记命令、不想手写 systemd、想用可视化界面管容器、网站、数据库、备份、证书
> 定位:新一代开源 Linux 服务器运维管理面板,Docker 原生、Web 界面、极简依赖、国产社区活跃(1Panel-dev/1Panel)


0. 为什么选 1Panel?(与宝塔 / CasaOS / Portainer 对比)

维度1Panel宝塔CasaOSPortainer
架构Go 单二进制 + Docker 编排Python + Nginx/Apache + 系统包Go + Docker(偏桌面/家庭)Go + Docker(偏容器编排)
安装体积30 MB 单文件300 MB+(拉一堆系统包)50 MB100 MB
Docker 原生度⭐⭐⭐⭐⭐(核心功能全走 Docker)⭐(插件式,版本常滞后)⭐⭐⭐⭐⭐⭐⭐⭐⭐
网站/反代/证书内置 OpenResty + ACME 自动续期核心功能(但配置文件易冲突)无(需自行配置)无(仅容器层面)
数据库管理可视化建库、用户、备份、定时任务强(但绑定系统安装版)无无
备份/恢复支持本地/远程(S3/MinIO/阿里云 OSS/COS/WebDAV)+ 定时有(收费版功能更全)无无
终端/文件管理内置 Web Terminal + 文件管理器(代替 SSH/SFTP)有有无
应用商店100+ 官方模板(一键部署 Jellyfin/HA/Alist/Gitea/…)插件商店(多收费/闭源)有(偏家庭娱乐)有(偏容器编排)
多用户/团队企业版支持 RBAC、审计日志专业版/企业版无Business 版
开源协议GPL-3.0(核心完全开源)核心闭源(社区版受限)Apache-2.0商业开源(EE 闭源)
学习曲线低(几分钟上手)低(但后期排错难)极低(家庭导向)中(需懂 Docker 概念)
>

一句话:想要「宝塔的易用性 + Portainer 的 Docker 原生 + 现代架构 + 全开源」,选 1Panel。


1. 五分钟极速安装

1.1 在线安装(推荐,自动检测架构、配置 systemd)

# 官方一键脚本(国内镜像自动加速)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

输出示例:

面板地址:http://你的IP:8080
用户名:admin
密码:a1b2c3d4   # 首次登录强制修改
>

也可指定端口/路径:bash quick_start.sh --port 18080 --entrance panel

1.2 离线安装(内网/气隙环境)

# 1. 在有网机器下载对应架构包
wget https://github.com/1Panel-dev/1Panel/releases/download/v1.10.12/1panel-linux-amd64.tar.gz
# 2. 传到目标机器解压
tar -zxvf 1panel-linux-amd64.tar.gz && cd 1panel-linux-amd64
# 3. 安装
sudo ./install.sh

1.3 Docker 运行(不想装 systemd 服务)

docker run -d \
  --name 1panel \
  --restart always \
  -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /opt/1panel:/opt/1panel \
  1panel/1panel:latest

2. 核心功能实战(新手必会 8 件事)

2.1 容器管理(替代 Portainer)

  • 镜像:拉取、标记、导出、清理无用镜像
  • 容器:创建(可视化端口/卷/环境变量/网络/重启策略/健康检查)、启停、重建、日志、终端、资源限制(CPU/内存/IO)
  • 网络/卷:可视化创建、挂载、清理
  • Compose:可视化编辑 docker-compose.yml,一键部署/更新/下线整套栈(支持环境变量文件)
>

实战:点「应用商店」→ 搜「Jellyfin」→ 一键部署 → 自动生成 Compose → 进「容器」列表即可看到端口映射、卷挂载、健康检查全配好。

2.2 网站 + 反代 + 自动 HTTPS(替代 Nginx Proxy Manager)

  • 添加网站 → 域名填 jellyfin.example.com → 类型选「反向代理」→ 目标 URL 填 http://127.0.0.1:8096
  • SSL 证书 → 勾选「申请 Let’s Encrypt 证书」→ 选 DNS 验证(推荐,需填 Cloudflare/阿里云/腾讯云 API)或 HTTP 验证 → 自动续期
  • 访问控制 → IP 白名单/黑名单、基础认证、User-Agent 过滤、限流
  • 自定义配置 → 需要时直接在界面插入 Nginx 指令(如 proxy_set_header X-Forwarded-Proto https;)
>

优势:底层跑 OpenResty,配置文件由面板托管,永远不会手改 nginx.conf 导致冲突。

2.3 数据库管理(MySQL / PostgreSQL / Redis / MongoDB)

  • 实例管理:本地部署(Docker 跑)或接入外部实例
  • 可视化:建库、建表、建用户、授权、导入/导出 SQL、执行 SQL、慢查询分析
  • 备份:定时全量/增量 → 存本地 / S3 / MinIO / OSS / COS / WebDAV → 保留策略(如每天 1 次、保留 30 天)
  • 一键恢复:点快照 → 选目标库 → 恢复

2.4 备份 / 恢复(统一入口)

支持备份对象:网站目录、数据库、容器卷、自定义路径
存储后端:本地 / S3 兼容 / 阿里云 OSS / 腾讯云 COS / 七牛云 / 又拍云 / WebDAV / SFTP
策略:每日/每周/每月、保留份数、压缩加密(AES-256)、上传并发、带宽限制
恢复:选时间点 → 选目标位置 → 一键还原

2.5 文件管理 + Web Terminal(替代 SFTP/SSH)

  • 文件管理器:上传/下载/编辑/解压/压缩/权限修改/搜索,支持多标签、拖拽
  • Web Terminal:bash/zsh/fish 全支持、命令历史、复制粘贴、全屏,无需开 22 端口给运维

2.6 应用商店(一键部署 100+ 热门服务)

分类典型应用
媒体/下载Jellyfin、Emby、Plex、qBittorrent、Transmission、Alist、Navidrome、Audiobookshelf、PhotoPrism、Immich
智能家居Home Assistant、Homebridge、ESPHome、Zigbee2MQTT、Frp、NPS
开发/协作Gitea、Drone、GitLab、GitLab Runner、Vaultwarden、Nextcloud、OnlyOffice、Wiki.js、Outline
监控/运维Prometheus、Grafana、Uptime Kuma、Netdata、Watchtower、Dozzle
数据库/中间件MySQL、PostgreSQL、Redis、MongoDB、MinIO、Nginx、Traefik、Caddy
安全/网络CrowdSec、Fail2Ban、WireGuard、Tailscale、Headscale、AdGuard Home、Pi-hole
>

自定义应用:在「应用商店」→「自定义应用」粘贴 Compose YAML → 变量化参数 → 以后像官方应用一样一键部署/更新。

2.7 系统监控 & 告警

  • 仪表盘:CPU/内存/磁盘/网络/负载/温度/进程 Top N、Docker 容器资源占用
  • 告警规则:阈值触发 → 推送钉钉/企业微信/飞书/Telegram/邮件/Webhook
  • 日志聚合:容器日志、Nginx 访问/错误日志、系统日志统一查看、关键词高亮

2.8 安全加固(开箱即用)

  • 登录保护:二次验证(TOTP)、限制登录失败次数、IP 白名单、修改入口路径
  • SSH 管理:查看登录记录、一键禁用密码登录、导入公钥、修改端口
  • 防火墙:可视化 iptables/nftables 规则、端口开放/关闭、国家/地区 IP 拦截(GeoIP)
  • 漏洞扫描:对接开源扫描器(可选),定期扫描镜像/系统包 CVE

3. 进阶玩法(生产环境建议)

3.1 反代面板本身(给 1Panel 上 HTTPS)

# 在 1Panel「网站」里给面板域名 panel.example.com 加反代
# 目标 URL: http://127.0.0.1:8080
# 勾选 SSL → 自动证书
# 自定义配置加:
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

3.2 多节点集中管理(企业版功能,社区版可手动同步)

  • 配置同步:把 /opt/1panel/config.yaml、/opt/1panel/data 纳入 Git 仓库或 Ansible 管理
  • 批量部署:用 Ansible community.docker.docker_compose 模块把 1Panel 部署到新机器 → 导入备份 → 分钟级交付

3.3 对接外部监控(Prometheus + Grafana)

1Panel 暴露 /metrics(需在设置开启),Grafana 导入官方 Dashboard(ID: 18649)即可监控面板自身 + 容器 + 系统指标。

3.4 迁移宝塔 / 手动部署的站点到 1Panel

# 1. 网站文件打包迁移
tar -czf site-backup.tar.gz /www/wwwroot/example.com
# 2. 数据库导出
mysqldump -u root -p dbname > db.sql
# 3. 在 1Panel:
#    - 新建网站 → 反代/静态/动态按需选
#    - 数据库 → 新建同名库/用户 → 导入 db.sql
#    - 文件管理器上传解压到网站根目录
#    - SSL 证书 → 同步/重新申请
#    - 修改 DNS 解析 → 验证

4. 常见坑 & 避坑指南

现象原因修正
面板打不开、8080 端口连不上安全组/防火墙没放行、systemd 服务未启动sudo systemctl status 1panel;云厂商控制台放行 8080/443/80
申请证书失败(HTTP 验证)80 端口被占用/反代层拦截用 DNS 验证;或确保 80 直达面板 OpenResty
容器启动报 permission denied宿主机目录权限不对面板「文件管理」→ 目录右键「权限」→ 设为 1000:1000 或容器内用户 UID/GID
Compose 部署后访问 404网络模式/端口映射冲突检查容器网络是否同一 bridge,宿主机端口未被占用
备份任务卡住/超时大文件/网络抖动/存储后端限流调大超时、分卷备份、限制上传并发 --transfers 2
面板升级后插件/应用商店空白缓存未清/版本不兼容docker exec -it 1panel 1panel reset-password 重置;或清浏览器缓存
数据库无法连接容器网络隔离/防火墙确保数据库容器与应用容器同网络,或映射宿主机端口并放行

5. 维护清单(贴在运维文档里)

频率动作
每天面板自动检查更新(设置 → 系统更新 → 自动检查)
每周查看备份任务日志、证书到期时间、磁盘占用
每月docker system prune -f 清理无用镜像/卷、导出面板配置备份
每季度升级 1Panel 版本(设置 → 系统更新 → 立即更新)、轮换数据库密码、审计用户权限

6. 一键部署模板(放入「自定义应用」即可复用)

# 自定义应用:NAS 全家桶(含 Jellyfin/qB/Alist/HA/NPM)
version: "3.8"
services:
  npm:
    image: jc21/nginx-proxy-manager:latest
    container_name: npm
    restart: unless-stopped
    ports: ["80:80","443:443","81:81"]
    volumes:
      - /data/config/npm:/data
      - /data/config/letsencrypt:/etc/letsencrypt
    environment: [TZ=Asia/Shanghai]

  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    network_mode: host
    volumes:
      - /data/config/jellyfin:/config
      - /data/media:/media:ro
      - /run/user/1000:/run/user/1000
    devices: [/dev/dri:/dev/dri]
    environment: [TZ=Asia/Shanghai,PUID=1000,PGID=1000]

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

  alist:
    image: xhofe/alist:latest
    container_name: alist
    restart: unless-stopped
    ports: ["5244:5244"]
    volumes:
      - /data/config/alist:/opt/alist/data
    environment: [TZ=Asia/Shanghai]

  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    container_name: homeassistant
    restart: unless-stopped
    network_mode: host
    volumes:
      - /data/config/homeassistant:/config
      - /run/dbus:/run/dbus:ro
    environment: [TZ=Asia/Shanghai]
    privileged: true
>

粘贴到「应用商店 → 自定义应用 → 新建」→ 变量化 /data 路径、PUID/PGID → 保存 → 以后点「部署」一键全上。


7. 资源链接


想把这篇也发上去?回「发 1panel」,我马上推到论坛(标签建议用 开发调优 或新建 面板工具 标签)。

— 感谢阅读 —

一起交流

分享你的思考,让讨论更进一步。