This commit is contained in:
Tamino 2025-01-13 07:55:22 +08:00 committed by GitHub
commit 2b272fd4be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 227 additions and 2 deletions

View File

@ -1,3 +1,4 @@
Chinese l [English](/READMEen.md)
# 关于Xboard
Xboard是基于V2board二次开发在性能上和功能上都有大部分增强的**面板

95
READMEen.md Normal file
View File

@ -0,0 +1,95 @@
English l [Chinese](/README.md)
## Docker-Compose Deployment Guide
This guide teaches you how to quickly deploy **Xboard** using `docker-compose` and SQLite via the command line.
If you wish to use MySQL, you must handle its installation separately.
### Deployment (Deploy in 2 Minutes with Docker-Compose)
> Steps to install and quickly experience Xboard.
Deploy your site rapidly using **docker-compose + SQLite** (no need to install MySQL or Redis).
#### 1. Install Docker
```bash
curl -sSL https://get.docker.com | bash
```
For CentOS systems, you may need to execute the following commands to start Docker:
```bash
systemctl enable docker
systemctl start docker
```
#### 2. Retrieve the Docker Compose File
```bash
git clone -b docker-compose --depth 1 https://github.com/cedar2025/Xboard
cd Xboard
```
#### 3. Execute the Database Installation Command
> Choose **Enable SQLite** and **Docker-Built Redis**
```bash
docker compose run -it --rm -e enable_sqlite=true -e enable_redis=true -e admin_account=your_admin_email@example.com xboard php artisan xboard:install
```
> Or customize your options at runtime:
```bash
docker compose run -it --rm xboard php artisan xboard:install
```
> After running the above command, your admin panel address, admin account, and password will be returned (make sure to note these down).
> You need to complete the next step, **Start Xboard**, before accessing the admin panel.
#### 4. Start Xboard
```bash
docker compose up -d
```
> Once installation is complete, you can access your site.
#### 5. Access the Site
> After startup, the website port defaults to `7001`. You can configure an NGINX reverse proxy to use port `80`.
Website URL:
http://your-IP:7001/
Congratulations, youve successfully deployed Xboard! You can now visit the site and experience all of Xboards features.
> If you need to use MySQL, please install MySQL separately and redeploy.
---
### **Updating Xboard**
#### 1. Modify the Version
```bash
cd Xboard
vi docker-compose.yaml
```
> Edit the `docker-compose.yaml` file and update the version number following `image` to your desired version.
> If the version is `latest`, you can skip this step and proceed to step 2.
#### 2. Update the Database (Safe to run multiple times)
```bash
docker compose pull
docker compose down
docker compose run -it --rm xboard php artisan xboard:update
docker compose up -d
```
> The update is now complete.
---
### **Rollback**
> Note: This rollback does not revert the database. Refer to relevant documentation for database rollbacks.
#### 1. Revert the Version
```bash
vi docker-compose.yaml
```
> Edit the `docker-compose.yaml` file and change the version number following `image` to the previous version.
#### 2. Start the Service
```bash
docker compose up -d
```
---
### Note
Any code changes made after enabling **webman** require a restart to take effect.

View File

@ -72,6 +72,103 @@ vi docker-compose.yaml
```
docker compose up -d
```
# English
## Docker-Compose Deployment Guide
This article guides you on how to quickly deploy **Xboard** using `docker-compose` and SQLite via the command line.
If you prefer using MySQL, you will need to handle the MySQL installation separately.
---
### Deployment (2-Minute Deployment with Docker-Compose)
> Here are the steps to install and quickly experience Xboard.
Deploy your site efficiently using **docker-compose + SQLite** (no need to install MySQL or Redis).
#### 1. Install Docker
```bash
curl -sSL https://get.docker.com | bash
```
For CentOS systems, you may need to execute the following commands to start Docker:
```bash
systemctl enable docker
systemctl start docker
```
#### 2. Download the Docker Compose Files
```bash
git clone -b docker-compose --depth 1 https://github.com/cedar2025/Xboard
cd Xboard
```
#### 3. Run the Database Installation Command
> Enable **SQLite** and **Redis (Docker-Built)**:
```bash
docker compose run -it --rm -e enable_sqlite=true -e enable_redis=true -e admin_account=your_admin_email@example.com xboard php artisan xboard:install
```
Alternatively, customize your preferences at runtime:
```bash
docker compose run -it --rm xboard php artisan xboard:install
```
> After running this command, it will return your admin panel URL, admin account, and password (make sure to record these).
> You need to complete the next step, **Start Xboard**, to access the admin panel.
#### 4. Start Xboard
```bash
docker compose up -d
```
> After installation, your site will be ready for access.
#### 5. Access Your Site
> By default, the website runs on port `7001`. You can configure an NGINX reverse proxy to use port `80`.
Website URL:
`http://your-IP:7001/`
Congratulations! Youve successfully deployed Xboard. You can now visit the URL to explore its full functionality.
> If you need MySQL, please install it separately and redeploy.
---
### **Updating Xboard**
#### 1. Modify the Version
```bash
cd Xboard
vi docker-compose.yaml
```
> Update the version number following `image` in the `docker-compose.yaml` file to your desired version.
> If the version is set to `latest`, you can skip this step and proceed to step 2.
#### 2. Update the Database (Safe to Execute Multiple Times)
```bash
docker compose pull
docker compose down
docker compose run -it --rm xboard php artisan xboard:update
docker compose up -d
```
> The update is now complete.
---
### **Rollback**
> Note: This rollback does not revert the database. Please refer to relevant documentation if a database rollback is required.
#### 1. Revert to a Previous Version
```bash
vi docker-compose.yaml
```
> Update the version number following `image` in the `docker-compose.yaml` file to the previous version.
#### 2. Start the Service
```bash
docker compose up -d
```
---
### Note
Any code modifications made after enabling **webman** require a restart to take effect.
### 注意
启用webman后做的任何代码修改都需要重启生效

View File

@ -1,4 +1,3 @@
# 性能对比总结
## 测试使用机器配置
@ -25,3 +24,36 @@ CPU核心数量 4核
|---- | ---- |---- |--- |---- |
| 登录页面 | FCP(7秒/2.9秒) | FCP (7秒/2.9秒) | FCP(7.1秒/2.7秒) | FCP(7.3秒/2.9秒) |
| 注册页面 | FCP(7.1秒/3秒) | FCP (7秒/2.8秒) | FCP(7.1秒/2.7秒) | FCP(7.3秒/2.9秒) |
# -------- English --------
# Performance Comparison Summary
## Test Machine Configuration
- **CPU Model**: Intel 8255C
- **CPU Cores**: 4 cores
- **Memory**: 8 GB
---
## Concurrent Performance Comparison Across Environments
> **php-fpm** refers to the typical installation method via aapanel (or BT panel). Concurrent testing was conducted using `wrk`.
| Scenario | php-fpm (Traditional) | php-fpm (Traditional with OPCache) | Laravels | Webman (Docker) |
|---------------|------------------------|------------------------------------|----------|-----------------|
| Homepage | 6 req/s | 157 req/s | 477 req/s| 803 req/s |
| User Subscription | 6 req/s | 196 req/s | 586 req/s| 1064 req/s |
| User Homepage Latency | 308 ms | 110 ms | 101 ms | 98 ms |
---
## Frontend Load Speed Comparison (v2b Original/Xboard)
> **FCP (First Contentful Paint)** measures the time taken to render the first visible content. Lower values are better.
> **FCP (Original Time / Xboard Time)**
| Scenario | php-fpm | php-fpm (with OPCache) | Laravels | Webman (Docker) |
|--------------|-----------------------------|---------------------------------|--------------------|-----------------------|
| Login Page | FCP (7s / 2.9s) | FCP (7s / 2.9s) | FCP (7.1s / 2.7s) | FCP (7.3s / 2.9s) |
| Registration Page | FCP (7.1s / 3s) | FCP (7s / 2.8s) | FCP (7.1s / 2.7s) | FCP (7.3s / 2.9s) |