[TOC]
## 依賴
tracker的服務端是用來處理tracker客戶端上報的數據,并展示給別人看的。
### 安裝docker和docker-compose
系統依賴docker和docker-compose
如果不了解如何部署docker,使用以下命令來進行安裝(需要root權限)
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
```
優先使用你的發行版提供的docker-compose進行安裝
例如
```bash
dnf install docker-compose # fedora
yum install docker-compose # CentOS 7/ RHEL7
apt-get install docker-compose # debian及其變種如Ubuntu
apk add docker-compose # alpine
pacman -S docker-compose # arch
```
如果你的發行版沒有提供docker-compose(例如CentOS 6),
docker-compose二進制可以從[https://github.com/docker/compose/releases](https://github.com/docker/compose/releases)下載
>[danger] 注意:docker-compose可能依賴python3
### 啟用docker daemon
對于使用systemd的發行版(fedora,CentOS/RHEL7,debian及其變種,arch):
```bash
systemctl start docker # 開啟dockerd
systemctl enable docker # 啟用dockerd的開機啟動
```
>[danger] 注意:有的發行版的docker daemon的systemd單元名稱不是docker,需要自行決定start和enable的名稱
對于使用openrc的發行版(alpine,gentoo)
```bash
rc-service docker start # 開啟dockerd
rc-update add docker # 啟用dockerd的開機啟動
```
對于其他sysvinit-like的啟動系統
```bash
/etc/init.d/docker start # 開啟dockerd
```
然后參考你的發行版提供的啟動管理器機制來啟用開機自啟
### CentOS 8
centos8的官方倉庫提供的是podman作為docker的替代,不完全兼容docker和docker-compose,可能存在問題,考慮使用一般的docker來進行安裝:
```bash
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce
```
## 安裝
>[danger] 不要在Windows下操作解壓后重新打包部署。
1. 進入 `swoole-admin-docker`目錄
2. 執行 `./build.sh`
3. 執行 `./run.sh`
## 訪問Admin后臺
運行`./run.sh`后 直接訪問當前機器的`ip:9666`即可,默認用戶名是`admin`密碼為`admin`
>[info] 默認端口為`9666`,如果需要修改,編輯`docker/nginx/conf.d/swoole-admin.conf`,修改`listen`為對應端口即可。
>[danger] 安裝完成后首次訪問如果報錯`500`,請將`data`目錄刪掉,執行`./kill.sh ./rm.sh`后,重新執行安裝步驟。
## 關閉Admin后臺
在 `swoole-admin-docker` 目錄執行 `./stop.sh`
### 腳本說明
```shell
build.sh #構建腳本
run.sh #啟動admin
stop.sh #停止admin
restart.sh #重啟admin進程
kill.sh #強制關閉admin進程
rm.sh #刪除admin的容器
```
## 重裝
如果不想保留之前的數據,`rm`掉整個 `swoole-admin-docker` 目錄,如果想保留之前的數據請保留 `swoole-admin-docker/data` 目錄
>[danger] 請不要隨意移動`swoole-admin-docker/data` 目錄,可能會導致文件權限、用戶組等錯誤,后臺無法正常訪問。
然后再解壓壓縮包,執行`./build.sh ./run.sh`
>[danger] 重裝后需要重啟客戶端的`node-agent`進程、`fpm`進程以及`Service`進程;