使用 Docker 安装独角数卡的 USDT 支付插件Epusdt非常简单。只需在已有的 Docker 环境中,获取必要的 Epusdt 插件文件,并按以下步骤进行配置:
准备环境:
- 本教程选择直接安装在独角数卡的服务器上,上一节已经安装好了 redis,mysql,dujiaoka,这里选择已有的 redis和 mysql安装Epusdt,如果你尚未部署独角数卡系统,可以参考我的 Docker 快速部署独角数卡教程,完成独角数卡的安装。
- Telegram Bot 主要用于
获取通知以及管理 usdt 收款码
,申请步骤非常简单,具体申请过程请看我这篇教程申请Bot API TokenToken,成功申请到 Telegram Bot 后将会获得类似33333333:adfssdfggssddg-gsdfwet
的 token,以及你个人 Telegram 账号的 ID.
下载Epusdt 插件所需的文件
cd /usr/local/data mkdir epusdt && cd epusdt wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/docker-compose.yml wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/epusdt.conf wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/epusdt/epusdt.sql
修改 Docker Compose 配置文件
如果你上一篇部署独角卡时采用了我提供的 docker-compose.yaml内容,这里直接用下面内容
但有2 处需要修改:
- MYSQL_USER我修改为dujiaoka
- MYSQL_PASSWORD修改为部署独角卡时设置的dujiaoka用户的密码,可查看dujiaoka/docker-compose.yml文件
version: "3" services: epusdt: image: stilleshan/epusdt restart: always volumes: - ./epusdt.conf:/app/.env ports: - 8000:8000 environment: - MYSQL_HOST=db - MYSQL_DATABASE=epusdt - MYSQL_USER=dujiaoka - MYSQL_PASSWORD=YOU-PASSWORD - REDIS_HOST=redis networks: - dujiaoshou_shared_network networks: dujiaoshou_shared_network: name: dujiaoshou_shared_network external: true
初始化数据库
1、进入 mysql容器
docker exec -it dujiaoka-db-1 /bin/bash
2、连接 mysql
mysql -u root -p #回车后输入 root用户密码,再次回车就连上了 #root密码查看dujiaoka/docker-compose.yml文件
3、创建epusdt数据库
CREATE DATABASE `epusdt` /*!40100 DEFAULT CHARACTER SET utf8mb4 */
4、授权epusdt数据库给dujiaoka用户
use mysql GRANT ALL PRIVILEGES ON `epusdt`.* TO `dujiaoka`@`%` identified by "YOU-PASSWORD" #YOU-PASSWORD修改为你的dujiaoka用户的密码 flush privileges; #刷新授权
然后输入 exit 退出 mysql,再输入 exit退出 db容器
5、初始化数据库
docker exec -i dujiaoka-db-1 sh -c 'exec mysql -udujiaoka -pYOUR_PASSWORD epusdt' < epusdt.sql #将YOUR_PASSWORD给为dujiaoka用户的密码
将命令中的-pYOUR_PASSWORD
的密码改为dujiaoka用户的密码,注意需要保留前缀-p
,例如上文修改密码MYSQL_PASSWORD=442dsgssd
,此处则为-p442dsgssd
.
6、修改epusdt.conf配置
- 修改第 3 行
app_uri
为上文为epusdt
准备的独立域名 - 修改第 24 行
mysql_passwd
为上节MYSQL_PASSWORD
的dujiaoka用户密码(注意:非 root 密码)
- 修改第 55 行
api_auth_token=
创建一个密码用于dujiaoka 支付设置
中使用. - 注意:因为本项目是合并部署,即跟 dujiaoka使用相同的 mysql和 redis,所以第 21,33 行已经修改为
db
,redis
,不能使用 127.0.0.1
。networks配置起了关键作用 - 修改第 48 行
tg_bot_token=
为上文创建的 Telegram Bot 的Token
- 修改第 52 行
tg_manage=
为上文创建的 Telegram Bot 的ID
其他参数保持默认即可
7、epusdt.sql
这个文件为数据库初始化文件,请勿修改
它.
8、运行容器
#启动容器 docker-compose up -d #查看usdt容器日志 docker-compose logs #停止容器 docker-compose down #重启容器 docker-compose up -d #或 docker-compose restart
日志显示epusdt-1 | ⇨ http server started on [::]:8000,说明没啥问题,可以下一步配置域名了
nginx新增域名配置
在/etc/nginx/conf.d目录下新增域名,例如 usdt.zhpengfei.com.conf
server{ listen 80; server_name your-domain.com; return 301 https://your-domain.com$request_uri; } server{ listen 443 ssl http2; server_name your-domain.com; access_log logs/access_epusdt.log; error_log logs/error_epusdt.log; index index.html index.html index.php default.htm default.php; ssl_certificate cert/dujiaoka.pem; ssl_certificate_key cert/dujiaoka.key; ssl_session_timeout 10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location ^~ / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; } }
保存之后使用下面命令一键替换掉配置文件中的域名,https证书不变
sed -i 's/your-domain.com/usdt.zhpengfei.com/g' usdt.zhpengfei.com.conf #将usdt.zhpengfei.com替换成你的域名
重新加载 nginx配置,使usdt域名生效
/etc/init.d/nginx configtest 测试配置文件是否有错误 /etc/init.d/nginx reload #重新加载配置
在 cloudflare dns中添加解析后,访问域名显示hello epusdt, https://github.com/assimon/epusdt
表示成功了。
配置usdt支付 – dujiaoka
1、登录 dujiaoka 后台 – 配置 – 支付配置,最下面开启epusdt
,并点击编辑
2、修改参数
- 商户ID修改为上述epusdt.conf配置文件中的api_auth_token的值
- 商户密钥填写API地址
https://你的usdt域名/api/v1/order/create-transaction
其他值保存不变,保存即可。
3、设置 usdt 收款地址
最后新建的在 Telegram Bot 里发送你的usdt
trc20的收款地址即可
此时则完成了所有部署。
测试USDT支付
可以在商铺管理->商品列表中,新增一个测试商品,进行支付测试即可。如下图所示,则表示 usdt支付正常。
结语
本教程采用 docker安装Epusdt插件,由于跟独角卡部署在同一个docker中,故而整个环境采用一个 mysql和 redis容器,共享网络环境,减少了对系统内存的占用,所以前期流量较低,完全够用,后期直接升级机器配置即可,但对数据库还是做了分库,也是方便备份迁移的,如果要采用独立部署,配置那就跟官方的一样