## 🐳 Docker 版安装指南 > 推荐方式:一键脚本自动部署,无需手动编译,无需安装 Go 环境。
> ⚠️ **注意**:Docker 版直接从源码构建,使用的是当前 `main` 分支的最新代码,更新进度会远快于 Release 版本。⚠️
> 如需使用特定版本(如 LTS),请查看 [Releases](https://git.whitetop.xyz/lxh2875931338/frpc-console/releases) 确认版本号,并通过二进制方式部署指定版本。 ### 一、📥 前置条件 - 已安装 Docker(必须) - 已安装 curl / wget(脚本会自动检查并安装) - 操作系统:Linux(x86_64 / ARM64 / ARMv7 均可) ### 二、🚀 一键部署(推荐) 在目标 Linux 服务器上执行: ```bash curl -sSL https://git.whitetop.xyz/lxh2875931338/frpc-console/raw/main/deploy.sh | sudo bash ``` 或手动下载执行: ```bash wget https://git.whitetop.xyz/lxh2875931338/frpc-console/raw/main/deploy.sh chmod +x deploy.sh sudo bash deploy.sh ``` ### 三、⚙️ 脚本自动完成内容 | 步骤 | 说明 | |---|---| | 检测系统 | 自动识别 OpenSUSE(猫猫特有的夹带私货) / Ubuntu / Debian / CentOS / Alpine | | 检测 CPU 架构 | 自动适配 x86_64 / ARM64 / ARMv7 | | 安装依赖 | git / curl / wget(如未安装) | | 安装 Go | 从国内镜像下载,自动配置代理 | | 拉取源码 | 从 Gitea 仓库克隆最新代码 | | 编译二进制 | 根据当前架构编译 Linux 版 | | 构建 Docker 镜像 | 使用源码中的 Dockerfile 构建 | | 启动容器 | 挂载数据卷,开机自启 | ### 四、📂 数据持久化 脚本默认将数据存储在 `/opt/frpc-console/data/`: | 文件 | 说明 | |---|---| | `frpc-console.db` | SQLite 数据库(用户、隧道、配置) | | `frpc.toml` | 生成的 frpc 配置文件 | | `frpc.log` | frpc 运行日志 | | `frpc.pid` | frpc 进程 PID | 升级或重建容器时,数据自动保留,不会丢失。 ### 五、🔄 升级 **方式一:重新运行脚本** ```bash sudo bash deploy.sh ``` 脚本会自动停止旧容器、拉取最新代码、重新编译并启动新容器,数据卷保持不变。 **方式二:手动更新** ```bash # 停止旧容器 docker stop frpc-console docker rm frpc-console # 重新运行 deploy.sh sudo bash deploy.sh ``` ### 六、🧹 常用命令 ```bash # 查看日志 docker logs -f frpc-console # 查看 frpc 子进程状态 docker exec frpc-console ps aux | grep frpc # 重启容器 docker restart frpc-console # 停止容器 docker stop frpc-console # 启动容器 docker start frpc-console ``` ### 七、🌐 访问地址 部署完成后,浏览器打开: ``` http://你的服务器IP:9300 ``` 首次访问会自动跳转到注册页面,填写用户名和密码,完成管理员账户创建。 登录后,在「隧道列表」页面点击「导入 TOML」,即可将现有的 `frpc.toml` 迁移到 WebUI 中管理。 ### 八、📌 手动部署(不使用脚本) 如果你已有源码,或想自行定制: ```bash # 1. 克隆代码 git clone https://git.whitetop.xyz/lxh2875931338/frpc-console.git cd frpc-console # 2. 构建镜像 docker build -t frpc-console:latest . # 3. 创建数据目录 mkdir -p /opt/frpc-console/data # 4. 启动容器 docker run -d \ --name frpc-console \ --restart=always \ --network host \ -v /opt/frpc-console/data:/app/data \ -e PORT=9300 \ -e TZ=Asia/Shanghai \ frpc-console:latest ```