服务器测评网
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

快速入狱教程之使用1panel+docker部署PPanel面板

广告
广告

重要提醒

本教程仅作交流学习使用,请勿用作非法用途。

啥是PPanel

之前我们写过一篇入狱教程:入狱教程|使用aapanel(宝塔)搭建v2board分支版并下发hysteria2和reality节点|开启webman支持

现在来了更快速入狱教程了,哈哈……

PPanel 是一个纯粹、专业且完美的开源代理面板工具,旨在成为您学习和实践的理想选择。

大白话:一个新的鸡场面板……具体可查看官方文档

术语说明

PPanel 的一些术语与其他面板系统存在差异,为确保您能准确理解文档内容并避免误解,建议在阅读前先了解以下术语:

  • 用户端 为最终用户提供的界面,用户通过该界面与系统进行交互。您可以根据需求自定义或重构该界面,实现站点的个性化定制。
  • 管理端 用于管理员操作的界面,负责管理系统、用户及数据。您可以根据需求对该界面进行定制或重构,以适应您的管理需求。
  • 服务端 PPanel 的 API 层,处理与前端的所有数据交互,负责业务逻辑的执行与数据服务的提供。
  • 节点端 负责 PPanel 服务端与各节点(落地端)的通信,确保网络节点的连接与服务的稳定性。
  • 客户端 用户用来连接系统的应用程序,通常是指用户的设备端软件或应用,负责与系统建立连接并使用相关服务。

部署方式

PPanel支持多种部署方式,可以借助1panel和aapanel等面板,也可以自己手搓,官方还提供一键脚本,甚至还有第三方一键docker脚本,连nginx反代都直接给你搞好……如果从大类来分,可以分为docker部署和和非docker部署。docker部署的话,可以配合Nginx手搓反代,也可借助1panel和aapanel等面板。非docker部署的话,又可分为Nginx + Supervisor + Node.js和Nginx + Supervisor + Bun。总之部署方式非常多样。

最方便的肯定是直接一键脚本,然后反代下,但是这样就失去了折腾的意义,所以小白今天用的1panel面板,我的想法是把数据库放在1panel面板,其他东西直接docker compose拉取,毕竟docker的数据库,小白太水了,玩不转……所以我们用1panel部署MySQL和redis,然后用PPanel官方自带的docker compose部署服务端(ppanel-server)、管理端(ppanel-admin-web)、用户端(ppanel-user-web)。

准备环境

一个vps:

公网ip:22.22.22.22

⼀个域名: userdomain.com

将以下二级域名解析至你的VPS:

api.userdomain.com: api接口地址, 用于前端请求后端服务

user.userdomain.com: 前端用户页面

admin.userdomain.com: 前端管理面板地址

数据库

1panel的安装直接参考官方文档,这里我们就不再赘述了。我们进入1panel应用商店,需要安装这三个应用:OpenResty 、MySQLRedis

20250716080901669

这里需要注意的是,docker compose部署服务端(ppanel-server)、管理端(ppanel-admin-web)、用户端(ppanel-user-web)和1panel的应用不在同一个docker网络,所以MySQL和Redis需要放行端口外部访问。

20250716080902463

然后我们进入1panel的数据库,新建一个数据库。

20250716080902602

服务端和前端(管理端和用户端)

我们在/opt/目录下新建一个ppanel文件夹,然后把ppanel-script的安装脚本git clone下来。

mkdir -p /opt/ppanel && cd /opt/ppanel
git clone https://github.com/perfect-panel/ppanel-script.git

接下来我们需要对ppanel-script主目录下的docker-compose.yml文件做一些修改,简单起见,我们能够UI操作咱们就尽量UI操作,直接使用1panel的文件管理功能,双击修改。

20250716080902430

原版docker-compose.yml长这样:

version: '3.8'
services:
  ppanel-server:
    image: ppanel/ppanel-server:beta
    container_name: ppanel-server-beta
    ports:
      - '8080:8080'
    volumes:
      - ./config/ppanel.yaml:/app/etc/ppanel.yaml
    restart: always
    depends_on:
      mysql:
        condition: service_healthy
      redis:
        condition: service_healthy
    networks:
      - ppanel-network
  mysql:
    image: mysql:8.0.23
    container_name: mysql_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: my_database
      MYSQL_USER: user
      MYSQL_PASSWORD: userpassword
    ports:
      - "3306:3306"
    volumes:
      - ./docker/mysql:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password --bind-address=0.0.0.0
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-prootpassword"]
      interval: 10s
      timeout: 5s
      retries: 3
    networks:
      - ppanel-network
  redis:
    image: redis:7
    container_name: redis_cache
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - ./docker/redis:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 3
    networks:
      - ppanel-network
  ppanel-admin-web:
    image: ppanel/ppanel-admin-web:latest
    container_name: ppanel-admin-web
    restart: always
    ports:
      - '3000:3000'
    environment:
      # Replace with actual API endpoint if needed
      NEXT_PUBLIC_API_URL: https://api.example.com
  ppanel-user-web:
    image: ppanel/ppanel-user-web:latest
    container_name: ppanel-user-web
    restart: always
    ports:
      - '3001:3000'
    environment:
      # Replace with actual API endpoint if needed
      NEXT_PUBLIC_API_URL: https://api.example.com
networks:
  ppanel-network:
    driver: bridge

 

由于我们的mysql和redis是用1panel安装的,所以我们ppanel-server容器的这两个依赖删掉,然后把docker-compose.yml里mysql和redis这两个容器也删掉,删掉这三个部分:

20250716080901906

20250716080904181

20250716080905608

删完之后是不是简洁了很多。然后我们需要在yml文件里增加几个简单的环境变量,主要是站点的语言和域名。

version: '3.8'
services:
  ppanel-server:
    image: ppanel/ppanel-server:beta
    container_name: ppanel-server-beta
    ports:
      - '8080:8080'
    volumes:
      - ./config/ppanel.yaml:/app/etc/ppanel.yaml
    restart: always
    networks:
      - ppanel-network
  ppanel-admin-web:
    image: ppanel/ppanel-admin-web:latest
    container_name: ppanel-admin-web
    restart: always
    ports:
      - '3000:3000'
    environment:
      # Replace with actual API endpoint if needed
      NEXT_PUBLIC_DEFAULT_LANGUAGE: zh-CN
      NEXT_PUBLIC_SITE_URL: https://admin.userdomain.com
      NEXT_PUBLIC_API_URL: https://api.userdomain.com
  ppanel-user-web:
    image: ppanel/ppanel-user-web:latest
    container_name: ppanel-user-web
    restart: always
    ports:
      - '3001:3000'
    environment:
      # Replace with actual API endpoint if needed
      NEXT_PUBLIC_DEFAULT_LANGUAGE: zh-CN
      NEXT_PUBLIC_SITE_URL: https://user.userdomain.com
      NEXT_PUBLIC_API_URL: https://api.userdomain.com
networks:
  ppanel-network:
    driver: bridge

 

然后,PPanel 支持基于 Web 的初始化,简化了手动配置过程,所以我们进入config目录,把ppanel.yaml的文件内容全都删掉,但是保留文件,这样我们就能通过 Web 界面初始化了。

20250716080906290

docker compose

本着能UI操作我们就不用命令行的原则,我们直接进入容器-编排-创建编排

20250716080906449

来源选择路径选择,选中我们刚刚编辑好的docker-compose.yml文件。

20250716080905920

点击确认,看到successful可以了。

20250716080907194

我们也可以看到这个docker-compose.yml一个创建了三个容器,分别是服务端,管理端和用户端。

20250716080908876

反代

我们之前的三个域名:

api.userdomain.com: api接口地址, 用于前端请求后端服务

user.userdomain.com: 前端用户页面

admin.userdomain.com: 前端管理面板地址

分别在1panel建立三个反向代理的网站,api.userdomain.com反代到127.0.0.1:8080,admin.userdomain.com反代到127.0.0.1:3000,user.userdomain.com反代到127.0.0.1:3001。

20250716080908361

20250716080909516

然后需要申请证书的,自行申请即可,小白这边域名是托管在cf的,直接使用cf的证书,就不申请本地证书了。

初始化

我们直接进入api.userdomain.com,语言改成中文

20250716080909786

其中数据库主机和Redis 主机需要填写我们vps的公网IP,其余用户名和密码,进入数据库,点击连接信息,把相应的用户名和密码填进去即可。

20250716080910591

20250716080911176

我们可以看到已经成功连接到MySQL和Redis:

20250716080911887

20250716080911798

点击开始初始化,至此,面板安装就完成了。

20250716080911423

面板外观

我们可以分别进入user.userdomain.com: 前端用户页面和admin.userdomain.com: 前端管理面板地址,来看下面板长啥样。

20250716080913847

20250716080914752

可以看到面板研制还是相当高的。

面板设置

系统配置里,自行修改即可:

20250716080914393

下面的内容就开始刑起来了,重要提醒:本教程仅作交流学习使用,请勿用作非法用途

我们来看下添加节点和订阅,PPanel的操作逻辑和V2board以及Xboard差不多,也是要先添加节点组和订阅组。

添加节点

先添加一个节点组。

20250716080914383

再添加节点。

20250716080914203

比如我们添加一个直连的ss节点。

20250716080919372

我们可以看到PPanel是能自动识别国家和地区的。

20250716080919117

节点通信密钥,记得要改一下,待会儿对接后端要用。

20250716080919871

 

 

订阅管理

先添加一个订阅组。

20250716080919633

然后再添加一个订阅。

20250716080919680

记得定价填一下。

20250716080922790

服务记得选中我们的刚刚创建的服务组。

20250716080922622

打开首页显示和销售,这样我们在用户端就能看到了。

20250716080923266

节点对接

官方提供了PPanel-node部署XrayR 部署两种方式,自行研究即可。

小白这边已经用PPanel-node对接了刚刚创建的测试节点,没有啥问题。

20250716080923542

 

邮件配置支付配置

这个可太刑了,我就不写了,都看到这儿了,也不用我去逼逼了。

最后

重要提醒:本教程仅作交流学习使用,请勿用作非法用途

好主机测评广告位招租-300元/3月
赞(0) 打赏
未经允许不得转载:好主机测评网 » 快速入狱教程之使用1panel+docker部署PPanel面板
好主机测评广告位招租-200元/3月
好主机测评广告位招租-100元/3月

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫