Docker is awesome!

TL; DR

1curl https://gist.github.com/Indexyz/d548520f2f742d9694140e162e76e3b0/raw/c8fce2c510340f10912fb1a86fc88ee8cbf22da0/install.sh | bash

然后访问 http://ip 就可以看到 SSPanel 了

安装环境

以下使用 Debian 10 作为基础环境, 通过 Docker 官方的安装方式安装的 Docker

1curl -sSL get.docker.com | bash
2systemctl enable --now docker

安装数据库

使用了 MariaDB 作为数据库, 可以使用

1export DB_PASS="P@55w0rD" # 数据库密码
2docker volume create mariadb
3
4docker run \
5    --name database -d \
6    -e MYSQL_ROOT_PASSWORD=$DB_PASS \
7    -v mariadb:/var/lib/mysql \
8    mariadb:10.5.1

恢复 SQL 文件

下载 glzlin_all.sql 然后恢复到数据库中

1wget https://github.com/Anankke/SSPanel-Uim/raw/dev/sql/glzjin_all.sql
2
3docker exec -i database sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' <<EOF
4CREATE DATABASE IF NOT EXISTS sspanel CHARACTER SET utf8 COLLATE utf8_general_ci;
5EOF
6
7docker exec -i database sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" sspanel' < glzjin_all.sql

这样就完成了恢复

安装 PHPMyAdmin (可选)

1docker run --name phpmyadmin -d \
2    -d --link database:db \
3    -p 8080:80 \
4    phpmyadmin/phpmyadmin

可以自己将 -p 8080:80 中 8080 换为你需要的端口 默认运行在 :8080 上

访问 http://ip:8080 就可以访问到 PMA 面板了

安装面板

 1docker run --name sspanel -d \
 2    --link database:db \
 3    -e UIM_ENV_REPLACE_ENABLE=1 \
 4    -e UIM_DB_HOST=db \
 5    -e UIM_DB_DATABASE=sspanel \
 6    -e UIM_DB_USERNAME=root \
 7    -e UIM_DB_PASSWORD=$DB_PASS \
 8    -p 80:80 \
 9    sspaneluim/panel
10
11docker exec -i sspanel sh -c 'php xcat initQQWry'
12docker exec -i sspanel sh -c 'php xcat resetTraffic'
13docker exec -i sspanel sh -c 'php xcat initdownload'

可以快速的运行一个可以使用的 SSPanel 实例

修改 Config

查看 Example Config, 看到要修改的 key 名称, 例如 $_ENV['smtp_host'], 将其大写后加入 UIM_ 的 Prefix, 变为 UIM_SMTP_HOST, 设置这个环境变量为你需要的值

创建 Admin 账户

1docker exec -i sspanel sh -c 'php xcat createAdmin'

然后根据提示就可以创建完成 Admin 账户了, 访问 http://ip:80 即可看到面板

建议修改的 Config

  • baseUrl (UIM_BASEURL) - 站点地址

  • muKey (UIM_MUKEY) - WEBAPI 校验 KEY

  • appName (UIM_APPNAME) - 应用名称

修改其他文件

将文件 mount 到 /var/www 下面, 例如修改 /config/appprofile.php 这个文件, 只需要在启动参数中加入

1-v /root/appprofile.php:/var/www/config/appprofile.php

此处就使用宿主机器上的 /root/appprofile.php 替换掉了容器当中的 /config/appprofile.php 文件

高级操作

使用 Nginx 作为前置代理

TODO