mirror of
https://github.com/cedar2025/Xboard.git
synced 2025-01-23 02:58:14 -05:00
4.5 KiB
4.5 KiB
Quick Deployment Guide for 1Panel
This guide explains how to deploy Xboard using 1Panel.
1. Environment Preparation
Install 1Panel:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && \
sudo bash quick_start.sh
2. Environment Configuration
-
Install from App Store:
- OpenResty (any version)
- ⚠️ Check "External Port Access" to open firewall
- MySQL 5.7 (Use MariaDB for ARM architecture)
- OpenResty (any version)
-
Create Database:
- Database name:
xboard
- Username:
xboard
- Access rights: All hosts (%)
- Save the database password for installation
- Database name:
3. Deployment Steps
-
Add Website:
- Go to "Website" > "Create Website" > "Reverse Proxy"
- Domain: Enter your domain
- Code:
xboard
- Proxy address:
127.0.0.1:7001
-
Configure Reverse Proxy:
location ^~ / {
proxy_pass http://127.0.0.1:7001;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
proxy_cache off;
}
- Install Xboard:
# Enter site directory
cd /opt/1panel/apps/openresty/openresty/www/sites/xboard/index
# Install Git (if not installed)
## Ubuntu/Debian
apt update && apt install -y git
## CentOS/RHEL
yum update && yum install -y git
# Clone repository
git clone -b compose --depth 1 https://github.com/cedar2025/Xboard ./
# Configure Docker Compose
- Edit docker-compose.yml:
services:
web:
image: ghcr.io/cedar2025/xboard:latest
volumes:
- ./.docker/.data/redis/:/data/
- ./.env:/www/.env
- ./.docker/.data/:/www/.docker/.data
- ./storage/logs:/www/storage/logs
- ./storage/theme:/www/storage/theme
environment:
- docker=true
depends_on:
- redis
command: php artisan octane:start --host=0.0.0.0 --port=7001
restart: on-failure
ports:
- 7001:7001
networks:
- 1panel-network
horizon:
image: ghcr.io/cedar2025/xboard:latest
volumes:
- ./.docker/.data/redis/:/data/
- ./.env:/www/.env
- ./.docker/.data/:/www/.docker/.data
- ./storage/logs:/www/storage/logs
restart: on-failure
command: php artisan horizon
networks:
- 1panel-network
depends_on:
- redis
redis:
image: redis:7-alpine
command: redis-server --unixsocket /data/redis.sock --unixsocketperm 777 --save 900 1 --save 300 10 --save 60 10000
restart: unless-stopped
networks:
- 1panel-network
volumes:
- ./.docker/.data/redis:/data
networks:
1panel-network:
external: true
- Initialize Installation:
# Install dependencies and initialize
docker compose run -it --rm web php artisan xboard:install
⚠️ Important Configuration Notes:
-
Database Configuration
- Database Host: Enter
mysql
(not localhost or 127.0.0.1) - Database Port:
3306
- Database Name:
xboard
(the database created earlier) - Database User:
xboard
(the user created earlier) - Database Password: Enter the password saved earlier
- Database Host: Enter
-
Redis Configuration
- Choose to use built-in Redis
- No additional configuration needed
-
Administrator Information
- Save the admin credentials displayed after installation
- Note down the admin panel access URL
After configuration, start the services:
docker compose up -d
- Start Services:
docker compose up -d
4. Version Update
💡 Important Note: The update command varies depending on your installation version:
- If you installed recently (new version), use this command:
docker compose pull && \
docker compose run -it --rm web php artisan xboard:update && \
docker compose up -d
- If you installed earlier (old version), replace
web
withxboard
:
docker compose pull && \
docker compose run -it --rm xboard php artisan xboard:update && \
docker compose up -d
🤔 Not sure which to use? Try the new version command first, if it fails, use the old version command.
Important Notes
- ⚠️ Ensure firewall is enabled to prevent port 7001 exposure to public
- Service restart is required after code modifications
- SSL certificate configuration is recommended for secure access