Add installation and uninstall docs
This commit is contained in:
@@ -16,7 +16,7 @@ export default defineConfig({
|
||||
sidebar: [
|
||||
{
|
||||
label: 'Getting Started',
|
||||
items: [{ label: 'Overview', slug: 'overview' }],
|
||||
items: [{ label: 'Overview', slug: 'overview' }, { label: 'Installation', slug: 'install' }],
|
||||
},
|
||||
{
|
||||
label: 'Admin Panel',
|
||||
|
||||
121
doccs/site/src/content/docs/install.md
Normal file
121
doccs/site/src/content/docs/install.md
Normal file
@@ -0,0 +1,121 @@
|
||||
---
|
||||
title: Installation
|
||||
---
|
||||
|
||||
This page covers installation, upgrades, and uninstallation for Jabali Panel.
|
||||
|
||||
## System requirements
|
||||
|
||||
- Fresh Debian 12 or 13 install (no pre-existing web or mail stack)
|
||||
- Root access on the server
|
||||
- A domain for the panel and mail (with glue records if you host DNS)
|
||||
- PTR (reverse DNS) for the mail hostname
|
||||
- Open ports: 22, 80, 443, 25, 465, 587, 993, 995, 53
|
||||
|
||||
## Quick install (recommended)
|
||||
|
||||
Run the installer from GitHub:
|
||||
|
||||
```
|
||||
curl -fsSL https://raw.githubusercontent.com/shukiv/jabali-panel/main/install.sh | sudo bash
|
||||
```
|
||||
|
||||
Optional flags:
|
||||
|
||||
- `JABALI_MINIMAL=1` for core-only install
|
||||
- `JABALI_FULL=1` to force all optional components
|
||||
|
||||
The installer clones the panel to `/var/www/jabali` and configures services,
|
||||
nginx, SSL, and required system packages.
|
||||
|
||||
## Manual install via Debian packages
|
||||
|
||||
Jabali ships as two Debian packages:
|
||||
|
||||
- `jabali-deps` for system dependencies (nginx, PHP, DB, mail, DNS, etc.)
|
||||
- `jabali-panel` for the panel application and systemd services
|
||||
|
||||
Build the packages from the repository root:
|
||||
|
||||
```
|
||||
./scripts/build-jabali-deps-deb.sh
|
||||
./scripts/build-jabali-panel-deb.sh
|
||||
```
|
||||
|
||||
Install on the server:
|
||||
|
||||
```
|
||||
sudo dpkg -i ./jabali-deps_<version>_all.deb
|
||||
sudo apt-get -f install -y
|
||||
sudo dpkg -i ./jabali-panel_<version>_all.deb
|
||||
```
|
||||
|
||||
After install, systemd services are enabled and started:
|
||||
|
||||
- `jabali-agent`
|
||||
- `jabali-queue`
|
||||
- `jabali-health-monitor`
|
||||
|
||||
## Post-install URLs
|
||||
|
||||
- Admin panel: `https://your-host/jabali-admin`
|
||||
- User panel: `https://your-host/jabali-panel`
|
||||
- Webmail: `https://your-host/webmail`
|
||||
|
||||
## Upgrades
|
||||
|
||||
From the panel directory:
|
||||
|
||||
```
|
||||
cd /var/www/jabali
|
||||
php artisan jabali:upgrade
|
||||
```
|
||||
|
||||
Check for updates only:
|
||||
|
||||
```
|
||||
php artisan jabali:upgrade --check
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
Before uninstalling, take backups of panel data and user content.
|
||||
|
||||
Stop and disable services:
|
||||
|
||||
```
|
||||
sudo systemctl stop jabali-agent jabali-queue jabali-health-monitor
|
||||
sudo systemctl disable jabali-agent jabali-queue jabali-health-monitor
|
||||
```
|
||||
|
||||
Remove packages (keep configs) or purge (remove configs):
|
||||
|
||||
```
|
||||
sudo apt remove jabali-panel jabali-deps
|
||||
# or
|
||||
sudo apt purge jabali-panel jabali-deps
|
||||
```
|
||||
|
||||
Optional cleanup (removes panel files and configs):
|
||||
|
||||
```
|
||||
sudo rm -rf /var/www/jabali
|
||||
sudo rm -rf /etc/jabali
|
||||
sudo rm -rf /etc/nginx/jabali
|
||||
sudo rm -rf /etc/ssl/jabali
|
||||
sudo rm -f /root/.jabali_db_credentials
|
||||
sudo rm -f /root/jabali_credentials.txt
|
||||
```
|
||||
|
||||
If you want to remove the panel database and user:
|
||||
|
||||
```
|
||||
sudo mysql -e "DROP DATABASE IF EXISTS jabali;"
|
||||
sudo mysql -e "DROP USER IF EXISTS jabali@localhost;"
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- If the panel does not load, confirm nginx is running and ports 80/443 are open.
|
||||
- Check service status with `systemctl status jabali-agent jabali-queue jabali-health-monitor`.
|
||||
- Review logs in `storage/logs` and system journal output.
|
||||
Reference in New Issue
Block a user