Files
yakpanel-core/docs/ubuntu-dev-install.md

86 lines
2.4 KiB
Markdown
Raw Normal View History

2026-04-07 20:29:49 +05:30
# YakPanel Ubuntu Dev Install
2026-04-07 21:35:20 +05:30
This setup brings up the YakPanel 2026 stack on Ubuntu 22.04/24.04.
2026-04-07 20:29:49 +05:30
2026-04-07 20:41:08 +05:30
## Clone the repository
```bash
git clone https://source.yakpanel.com/admin/yakpanel-core.git
cd yakpanel-core
```
2026-04-07 20:29:49 +05:30
## Quick install
```bash
2026-04-07 20:41:08 +05:30
cd /path/to/yakpanel-core
2026-04-07 20:29:49 +05:30
chmod +x scripts/install-ubuntu.sh scripts/bootstrap-dev.sh
./scripts/install-ubuntu.sh
```
## One-click install
```bash
2026-04-07 20:41:08 +05:30
cd /path/to/yakpanel-core
2026-04-07 20:29:49 +05:30
chmod +x one-click-installer.sh
./one-click-installer.sh
```
## Start/stop commands
```bash
make init
make up
make migrate
make ps
make logs
make down
```
## Services
2026-04-07 20:57:48 +05:30
Host ports are defined in `.env` (see `.env.example`). Defaults avoid common conflicts:
2026-04-07 21:35:20 +05:30
- **Web control panel (full UI):** `http://localhost:3080/` (`PANEL_UI_PORT`) <20> default login `admin` / `admin` (change immediately). API is proxied at `/api`.
- Laravel scaffold API health: `http://localhost:18080/health` (`API_PORT`)
2026-04-07 20:57:48 +05:30
- PostgreSQL: `localhost:15432` (`POSTGRES_PORT`)
- Redis: `localhost:16379` (`REDIS_PORT`)
- NATS monitor: `http://localhost:18222` (`NATS_MONITOR_PORT`)
- MinIO console: `http://localhost:19001` (`MINIO_CONSOLE_PORT`)
2026-04-07 21:35:20 +05:30
- Prometheus: `http://localhost:19090` (`PROMETHEUS_PORT`)
- Grafana: `http://localhost:13000` (`GRAFANA_PORT`)
First boot builds Docker images for `YakPanel-server` (backend + frontend); this can take several minutes.
2026-04-07 20:29:49 +05:30
2026-04-07 20:53:04 +05:30
## Troubleshooting
### `permission denied while trying to connect to the docker API`
After adding your user to the `docker` group, your **current** shell may not see that group until you log out and back in. Install scripts use `scripts/docker-compose.sh`, which runs Compose via `sg docker` when needed so the first run succeeds without a re-login.
If you still see the error, run:
```bash
newgrp docker
```
or log out and SSH in again, then:
```bash
bash scripts/docker-compose.sh up -d --build
```
2026-04-07 20:57:48 +05:30
### `failed to bind host port ... address already in use`
Another service on the host is using the same published port. Run:
```bash
bash scripts/ensure-env-ports.sh
bash scripts/docker-compose.sh down
bash scripts/docker-compose.sh up -d --build
```
Or edit `.env` manually (raise `REDIS_PORT`, `POSTGRES_PORT`, etc.).
2026-04-07 20:29:49 +05:30
## Notes
2026-04-07 21:35:20 +05:30
- This is a development-first integrated stack with a real control panel UI and supporting services.
2026-04-07 20:29:49 +05:30
- Database schema is automatically applied by `db-migrate` during bootstrap and can be re-run with `make migrate`.