55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
# Installation
|
||
|
||
## Debian packages (no install.sh)
|
||
|
||
Jabali ships as two Debian packages:
|
||
|
||
- `jabali-deps` — system dependencies (nginx, PHP, DB, mail, DNS, etc.)
|
||
- `jabali-panel` — the panel application + systemd services
|
||
|
||
### Build the packages
|
||
|
||
From the repository root:
|
||
|
||
```
|
||
./scripts/build-jabali-deps-deb.sh
|
||
./scripts/build-jabali-panel-deb.sh
|
||
```
|
||
|
||
This produces:
|
||
|
||
```
|
||
jabali-deps_<version>_all.deb
|
||
jabali-panel_<version>_all.deb
|
||
```
|
||
|
||
### Install on a 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`
|
||
|
||
## Panel notifications (admin + user)
|
||
|
||
Jabali ships with a hardened Filament notifications setup that prevents Livewire
|
||
success hooks from breaking after the first toast.
|
||
|
||
What is included:
|
||
|
||
- `public/js/filament/notifications/notifications.js` is patched to guard the
|
||
animation callback (prevents `TypeError: e is not a function`).
|
||
- `resources/views/vendor/filament-notifications/notifications.blade.php` adds
|
||
a lightweight `wire:poll.2s` so toasts keep flowing even if a Livewire event
|
||
is dropped.
|
||
|
||
If you update or rebuild assets, keep the guard in place and hard‑refresh the
|
||
browser (Ctrl+Shift+R) after deployment.
|