<div align="center">
  <img src="https://www.yakpanel.com/images/bt_logo.png" alt="YakPanel " width="270"/>
</div>
<br/>

<div align="center">
<img src="https://forum.yakpanel.com/assets/logo-kr3kouky.png" alt="YakPanel " width="120"/>
</div>
<br/>
<div align="center">

[![BTWAF](https://img.shields.io/badge/YakPanel-YakPanel-blue)](https://github.com/YakPanel/YakPanel)
[![social](https://img.shields.io/github/stars/YakPanel/YakPanel?style=social)](https://github.com/YakPanel/YakPanel)

</div>
<p align="center">
  <a href="https://www.yakpanel.com">Official</a> | 
  <a href="https://doc.yakpanel.com/web/#/3?page_id=117">documentation</a> |
  <a href="https://demo.yakpanel.com/fdgi87jbn/">Demo</a> |
</p>

## About YakPanel

**YakPanel is a simple but powerful hosting control panel**, it can manage the web server through web-based GUI(Graphical User Interface).

**Modern stack (FastAPI + React):** see [`YakPanel-server/`](YakPanel-server/) in this repository for the API and SPA that map to yakpanel.com product work.

**Filesystem renames on existing servers:** this tree expects panel code under `YakPanel/`, launcher scripts `Yak-Panel` and `Yak-Task`, and the task package in `YakTask/`. If you upgrade from an older layout (`BTPanel`, `BT-Panel`, `BT-Task`, `BTTask`), rename those paths on disk and adjust any custom scripts or systemd units that still reference the old names. ipsets were renamed from `yakpanel.ipv4.*` to `yakpanel.ipv4.*`—recreate or migrate rules as needed. New encrypted DB field markers use the `YP-0x:` prefix (existing `BT-0x:` values still decrypt). Panel PKCS#12 downloads use `ssl/yakpanel_root.pfx` (legacy `ssl/baota_root.pfx` is still recognized until renewed). OpenLiteSpeed stubs use `YP_SITENAME` / `YP_RUN_PATH` instead of `BT_SITENAME` / `BT_RUN_PATH`, and `YP_OLS_NAME` / `YP_EXTP_NAME` / `YP_PHP_V` / `YP_SSL_DOMAIN` instead of `BTSITENAME` / `BT_EXTP_NAME` / `BTPHPV` / `BTDOMAIN`, and hotlink rules use `YP_FILE_EXT` instead of `BTPFILE`, for **new** generated snippets. One-click deployment config patching accepts both `YP_DB_USERNAME|YP_DB_PASSWORD|YP_DB_NAME` and the legacy `BT_DB_*` names.

* **one-click function:** such as one-click install LNMP/LAMP developing environment and software.
* **save the time:** Our main goal is helping users to save the time of deploying, thus users just focus on their own project that is fine.

## Demo

Demo：https://demo.yakpanel.com/fdgi87jbn/<br/>
username: yakpanel<br/>
password: yakpanel

<!-- ![image](https://github.com/YakPanel/YakPanel/assets/31841517/c40d68f5-1cbb-4117-ab47-b52b14228cce) -->
![image](https://www.yakpanel.com/static/new/images/index/home.png)

## What can I do

YakPanel is a server management software that supports the Linux system.

It can easily manage the server through the Web terminal, improving the operation and maintenance efficiency.

## Installation

> Make sure it is a clean operating system, and have not installed Apache /Nginx/php/MySQL from other environments
> YakPanel is developed based on Ubuntu 22+, it is strongly recommended to use Ubuntu 22+ linux distribution

 Note, please execute the installation command with root authority

* Memory: 512M or more, 768M or more is recommended (Pure panel for about 60M of system memory)

* Hard disk: More than 100M available hard disk space (Pure panel for about 20M disk space)

* System: Ubuntu 22.04 24.04, Debian 11 12, CentOS 9, Rocky/AlmaLinux 8 9, to ensure that it is a clean operating system, there is no other environment with Apache/Nginx/php/MySQL installed (the existing environment can not be installed)

**YakPanel Installation Command**

`URL=https://www.yakpanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh 66959f96`

**YakPanel Docker Deployment**

> The docker image is officially released by YakPanel

Maintained by: [YakPanel](https://www.yakpanel.com)



How to use

`$docker run -d -p 8886:8888 -p 22:21 -p 443:443 -p 80:80 -p 889:888 -v ~/website_data:/www/wwwroot -v ~/mysql_data:/www/server/data -v ~/vhost:/www/server/panel/vhost yakpanel/yakpanel:lib`

Now you can access YakPanel at http://youripaddress:8886/ from your host system.

* Default username:`yakpanel`
* Default password:`yakpanel123`

Port usage analysis
* Control Panel   : 8888
* Phpmyadmin      : 888

Dir usage analysis
* Website data    : /www/wwwroot
* Mysql data      : /www/server/data
* Vhost file      : /www/server/panel/vhost 

**Note: after the deployment is complete, please immediately modify the user name and password in the panel settings and add the installation entry**


