前言
早前本站介绍了 docker 部署 dujiaoka 独角数卡自动售货系统 支持 X86 和 ARM 架构 教程,博主个人也正在使用,近期在折腾 usdt, 于是依旧用 docker 部署了官方的Epusdt
插件,使小店支持 usdt 支付,经过测试使用正常,部署简单,迁移方便.
同样该项目感谢以下大佬无私贡献:
部署
Demo
访问我的小店 https://shop.ioiox.com 选择usdt
支付体验.
部署说明
部署之前必须注意的几点事项,该教程不一定适合所有用户:
- 本教程主要是使用 docker 部署,
宝塔用户或宿主机直接安装的用户请直接参考官网教程.
- 本教程是
独立部署 epusdt
,使用独立的mysql
和redis
,与dujiaoka
项目分开.
在研究的过程中发现 epusdt 也需要用到 mysql 和 redis
, 并且两个项目之间并没有任何相互依赖,都有独立的域名, dujiaoka 通过 epusdt 的域名请求 API 来获取支付结果
,所以为了保持运行独立和数据库安全稳定,所以才将epusdt
和dujiaoka
分开为两个独立的 docker-compose 项目进行独立部署.
前期准备
Telegram Bot
Telegram Bot 主要用于获取通知以及管理 usdt 收款码
,申请步骤非常简单,网上有太多教程,本站就不在详细讲解.成功申请到 Telegram Bot 后将会获得类似66666666:aaaabbbccDD-aaDEExssss
的 token,以及你个人 Telegram 账号的 ID,类似887726364
.
ID: 887726364
Token: 66666666:aaaabbbccDD-aaDEExssss
域名及证书
为 Epusdt 准备一个独立的域名及证书,正确的部署到服务器.
示例: usdt.ioiox.com
配置文件
创建项目目录
创建/root/epusdt
目录用于存放所有相关配置,数据库文件,后期仅仅需要备份和迁移该目录即可随时更换服务器.
下载docker-compose.yml
,epusdt.conf
,epusdt.sql
三个必要文件.
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.yml
- 修改
MYSQL_ROOT_PASSWORD
数据库root
密码 - 修改
MYSQL_PASSWORD
数据库用户
密码 - 用户名和数据库名
不用修改
- 如服务器
8000
端口可能被占用,需修改epusdt
映射端口,例如58000:8000
epusdt.conf
- 修改第 3 行
app_uri
为上文为epusdt
准备的独立域名 - 修改第 24 行
mysql_passwd
为上节MYSQL_PASSWORD
的用户密码(注意:非 root 密码)
- 修改第 55 行
api_auth_token=123qweASD
创建一个密码用于dujiaoka 支付设置
中使用. - 注意:因为本项目是独立部署到 docker compose 内,所以第 21,33 行已经修改为
db
,redis
,不能使用 127.0.0.1
. - 修改第 48 行
tg_bot_token=
为上文创建的 Telegram Bot 的Token
- 修改第 52 行
tg_manage=
为上文创建的 Telegram Bot 的ID
epusdt.sql
该文件为数据库初始化文件,请勿修改
.
部署服务
检查文件
cd epusdt
ls
首次启动
docker-compose up -d
初始化数据库
将下述命令中的-pCHANGE_YOUR_PASSWORD
的密码改为上述设置的新密码,注意需要保留前缀-p
,例如上文修改密码MYSQL_PASSWORD=aaabbbccc
,此处则为-paaabbbccc
.
如下图执行后无任何显示代表成功,否则将会报错.
docker exec -i epusdt-db-1 sh -c 'exec mysql -uepusdt -pCHANGE_YOUR_PASSWORD epusdt' < epusdt.sql
重启服务
docker-compose down
docker-compose up -d
# 或 restart 重启
docker-compose restart
检查服务
查看epusdt
服务,如下图所示http server started on [::]:8000
则表示成功.
docker logs -f epusdt-epusdt-1
配置域名反代
根据你自身系统环境,配置 nginx 反向代理,没有什么特殊参数,仅需要将usdt 域名
反代到 8000 或者上述修改的 58000 端口即可,以下为参考示例:
location ^~ / {
proxy_pass http://127.0.0.1:58000;
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;
}
访问域名显示hello epusdt, https://github.com/assimon/epusdt
表示成功.
配置支付 - dujiaoka
登录 dujiaoka 后台 - 配置 - 支付配置
最下面开启epusdt
,并点击编辑.
注意:dujiaoka 2.0.5 版本及以上才默认支持epusdt
,其他版本请自行升级或者手动安装插件.
修改参数
- 商户ID修改为上述创建的密码
123qweASD
- 商户密钥填写API地址
https://上文准备的usdt域名.com/api/v1/order/create-transaction
设置 usdt 收款地址
最后在 Telegram Bot 里来创建usdt
收款地址则完成所有部署.
结语
再次感谢以下文章提供的技术支持:
23 条评论
访问域名显示hello epusdt, https://github.com/assimon/epusdt,但是要怎样进入后台
这个没有后台,去 dujiaoka 的后台设置 epusdt。
你好博主,谢谢教程,帮助很大。
但是在初始化数据库报错:
root@199:~/epusdt# docker exec -i epusdt_epusdt_1 sh -c 'exec mysql -uepusdt -pchentanwan1234CC... epusdt' < epusdt.sql
sh: exec: line 0: mysql: not found
容器启动错误日志如下:
epusdt_1 | 2023/07/15 09:01:15 /src/model/data/wallet_address_data.go:49 Error 1146: Table 'epusdt.wallet_address' doesn't exist
epusdt_1 | [0.790ms] [rows:0] SELECT * FROM
wallet_address
WHERE status = 1 ANDwallet_address
.deleted_at
IS NULL提示错误:parsing /epusdt/docker-compose.yml: yaml: line 30: mapping values are not allowed in this context
[...]搭建方式首发于Stille大佬[...]
[...]搭建方式首发于Stille大佬[...]