说明

从目前的行业发展中,博主多年前开始一直从事容器方面的运维工作,为了更好的技术发展,后续将全面拥抱容器化技术。同时,由于维护OneinStack变得困难,并且各种环境适配也耗费了大量时间(相比容器更适合于跨平台、轻量级、高度可移植性和隔离性等方面)。因此,已于23年8月份出售了OneinStack(具体细节不方便透露),后续将更多精力和资源投入到一个新项目中,bypanel是一个基于容器构建安装环境,支持Linux、MacOS。

支持操作系统

MacOSRedHatAlpine LinuxDebianUbuntu
AlmaLinuxFedoraRocky LinuxopenSUSEAnolis
OpencloudOSTencentOSAmazon LinuxEulerOSopenEuler
KylinLinuxMintAlibaba LinuxElementaryUos
DeepinKylinsecOSOracle LinuxKali LinuxArch Linux
CentOS...

镜像说明

镜像地址:https://hub.docker.com/repositories/bypanel

使用github Action全自动化:

  • nginx:https://github.com/linuxeye/docker-nginx
  • openresty:  https://github.com/linuxeye/docker-openresty
  • php-fpm:https://github.com/linuxeye/docker-php-fpm
  • mysql:https://github.com/linuxeye/docker-mysql

安装

curl -sSL https://mirrors.linuxeye.com/bypanel/quick_install.sh | bash
  • Linux 默认安装路径: /opt/bypanel
  • Linux bypanel二进制路径: /usr/bin/bypanel
  • MacOS 默认安装路径: ~/bypanel
  • MacOS bypanel二进制路径: ~/bypanel/bin/bypanel

bypanel二进制下载地址(quick_install.sh已自动安装)

  • Linux AMD64: https://mirrors.linuxeye.com/bypanel/bypanel-linux-amd64
  • Linux AArch64: https://mirrors.linuxeye.com/bypanel/bypanel-linux-arm64
  • MacOS AMD64: https://mirrors.linuxeye.com/bypanel/bypanel-darwin-amd64
  • MacOS AArch64: https://mirrors.linuxeye.com/bypanel/bypanel-darwin-arm64

架构图

docker-compose一键部署LNMP环境

配置

bypanel configure
  • 配置部署bypanel参数,即修改/opt/bypanel/.env

命令帮助

bypanel help

创建和启动

bypanel up -d
  • 创建和启动容器, 其中-d参数: 容器后台运行

虚拟主机

添加

bypanel vhost add

删除

bypanel vhost del

列表

bypanel vhost list

重载web服务

bypanel reload

日志

bypanel logs -f
  • 显示日志, 如显示nginx实时日志:bypanel logs nginx -f, 其中-f参数: 打印日志输出

服务状态

bypanel status
  • 查看容器状态, 或执行命令 bypctl ps 作用相同

停止、删除容器和网络

bypanel down

重启服务

bypanel restart

启动服务

bypanel start

停止服务

bypanel stop

执行命令

bypanel exec SERVICE COMMAND [ARGS...]

如:登陆nginx容器

bypanel exec nginx sh

升级命令

bypanel upgrade

版本显示

bypanel version

环境变量

/opt/bypanel/.env包含非常多参数,如

  • NEW_UID: 容器运行用户Id,网站根目录权限需为此用户Id,可通过chown -R 1000:1000 /data/webroot修改网站根目录权限
  • NEW_GID: 容器运行用户组Id
  • TIMEZONE: 容器时区
  • NGINX_SERVER: Nginx镜像版本
  • MYSQL_SERVER: MySQL镜像版本
  • PGSQL_SERVER: PostgreSQL镜像版本
  • REDIS_SERVER: Redis镜像版本
  • MEMCACHED_SERVER: Memcached镜像版本
  • MONGO_SERVER: MongoDB镜像版本
  • PMA_SERVER: phpMyAdmin镜像版本
  • PMA_ARBITRARY: phpMyAdmin参数,当设置为 1 时,将允许与任意服务器的连接
  • PMA_ABSOLUTE_URI: phpMyAdmin参数,phpMyAdmin的完整 URL。 有时在反向代理配置中使用时需要。
  • SFTPGO_SERVER: SFTPGo镜像版本
  • SFTPGO_WEB_PORT: SFTPGo web管理端口,创建第一个管理员和一个新的 SFTPGo 用户,注意安全组端口
  • SFTPGO_SFTPD_PORT: SFTP服务端口,注意安全组端口
  • SFTPGO_FTPD_PORT: FTP服务端口,注意安全组端口
  • SFTPGO_FTPD_PASSIVE_PORT_RANGE_START: FTP服务被动开始的端口,注意安全组端口
  • SFTPGO_FTPD_PASSIVE_PORT_RANGE_END: FTP服务被动结束的端口,注意安全组端口
  • PHP_MODULES_ENABLE: PHP启用模块
  • PHP_MODULES_DISABLE: PHP禁用模块
  • HOST_PORT_NGINX: Nginx端口
  • HOST_PORT_NGINX_SSL: Nginx SSL端口
  • HOST_PORT_OPENRESTY: OpenResty端口
  • HOST_PORT_OPENRESTY_SSL: OpenResty SSL端口
  • HOST_PORT_APACHE: Apache端口
  • HOST_PORT_APACHE_SSL: Apache SSL端口
  • MYSQL_ROOT_PASSWORD: MySQL数据库root密码
  • HOST_PORT_MYSQL: MySQL端口
  • PGSQL_ROOT_USER: PostgreSQL根用户
  • PGSQL_ROOT_PASSWORD: PostgreSQL根用户密码
  • PGSQL_HOST_AUTH_METHOD: 为了不使用 PostgreSQL 的密码,请将此值保留为"trust"
  • HOST_PORT_PGSQL: PostgreSQL端口
  • HOST_PORT_REDIS: Redis端口
  • REDIS_ARGS: Redis启动参数
  • HOST_PORT_MEMCACHED: Memcached端口
  • HOST_PORT_MONGO: MongoDB端口

数据目录结构

默认数据目录结构如下:

[root@linuxeye ~]# tree -L 2 /data
/data
├── backups
│   ├── 202312090300.linuxeye.sql.gz
│   ├── 202312100300.linuxeye.sql.gz
│   ├── 202312110300.linuxeye.sql.gz
│   └── latest.linuxeye.sql.gz -> 202312110300.linuxeye.sql.gz
├── logs
│   ├── nginx
│   └── php-fpm-8.2
├── mariadb-10.11
│   ├── aria_log.00000001
│   ├── aria_log_control
│   ├── ddl_recovery.log
│   ├── ib_buffer_pool
│   ├── ibdata1
│   ├── ib_logfile0
│   ├── ibtmp1
│   ├── linuxeye
│   ├── multi-master.info
│   ├── mysql
│   ├── mysql-bin.000001
│   ├── mysql-bin.000002
│   ├── mysql-bin.index
│   ├── mysql-slow.log
│   ├── mysql_upgrade_info
│   ├── performance_schema
│   └── sys
└── webroot
    ├── default
    └── linuxeye