51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker部署Epuset,一款好用的个人USDT收款网关,兼容各种插件

演示 {#演示}

访问JY小店 https://shop.fjy.zone 选择 usdt支付体验。

准备 {#准备}

Telegram Bot {#Telegram-Bot}

Telegram Bot 主要用于 获取通知以及管理 usdt 收款码,申请步骤非常简单,可以参考文章:Telegram(电报)注册创建机器人Bot教程

成功申请到 Telegram Bot 后将会获得类似 123456:abcdefg的 API Token

访问 @userinfobot,可以获取你个人 Telegram 账号的 ID

配置文件 {#配置文件}

创建项目目录及文件 {#创建项目目录及文件}

docker-compose.yml 配置文件如下:

version: "3"
services:
  db:
    image: mariadb:focal
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=CHANGE_YOUR_PASSWORD
      - MYSQL_DATABASE=epusdt
      - MYSQL_USER=epusdt
      - MYSQL_PASSWORD=CHANGE_YOUR_PASSWORD
    volumes:
      - ./mysql:/var/lib/mysql

redis:
image: redis:alpine
restart: always
volumes:
- ./redis:/data

`epusdt:
image: stilleshan/epusdt
restart: always
volumes:
- ./epusdt.conf:/app/.env
ports:
- 8000:8000
`

epusdt.conf 配置文件如下:

app_name=epusdt
#下面配置你的域名,收银台会需要
app_uri=https://examle.com
#是否开启debug,默认false
app_debug=false
#http服务监听端口
http_listen=:8000

#静态资源文件目录
static_path=/static
#缓存路径
runtime_root_path=/runtime


#日志配置
log_save_path=/logs
log_max_size=32
log_max_age=7
max_backups=3


mysql配置
=======



mysql_host=db
mysql_port=3306
mysql_user=epusdt
mysql_passwd=CHANGE_YOUR_PASSWORD


请修改 epusdt 数据库密码
================



mysql_database=epusdt
mysql_table_prefix=
mysql_max_idle_conns=10
mysql_max_open_conns=100
mysql_max_life_time=6


redis配置
=======



redis_host=redis
redis_port=6379
redis_passwd=
redis_db=5
redis_pool_size=5
redis_max_retries=3
redis_idle_timeout=1000


消息队列配置
======



queue_concurrency=10
queue_level_critical=6
queue_level_default=3
queue_level_low=1


#机器人Apitoken
tg_bot_token=
#telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写
tg_proxy=
#管理员userid
tg_manage=


#api接口认证token
api_auth_token=


#订单过期时间(单位分钟)
order_expiration_time=10

`#强制汇率(设置此参数后每笔交易将按照此汇率计算,例如:6.4)
forced_usdt_rate=
`

epusdt.sql 配置文件如下:

-- auto-generated definition
create table orders
(
    id                   int auto_increment
        primary key,
    trade_id             varchar(32)    not null comment 'epusdt订单号',
    order_id             varchar(32)    not null comment '客户交易id',
    block_transaction_id varchar(128)   null comment '区块唯一编号',
    actual_amount        decimal(19, 4) not null comment '订单实际需要支付的金额,保留4位小数',
    amount               decimal(19, 4) not null comment '订单金额,保留4位小数',
    token                varchar(50)    not null comment '所属钱包地址',
    status               int default 1  not null comment '1:等待支付,2:支付成功,3:已过期',
    notify_url           varchar(128)   not null comment '异步回调地址',
    redirect_url         varchar(128)   null comment '同步回调地址',
    callback_num         int default 0  null comment '回调次数',
    callback_confirm     int default 2  null comment '回调是否已确认? 1是 2否',
    created_at           timestamp      null,
    updated_at           timestamp      null,
    deleted_at           timestamp      null,
    constraint orders_order_id_uindex
        unique (order_id),
    constraint orders_trade_id_uindex
        unique (trade_id)
);

create index orders_block_transaction_id_index
on orders (block_transaction_id);


-- auto-generated definition
create table wallet_address
(
id         int auto_increment
primary key,
token      varchar(50)   not null comment '钱包token',
status     int default 1 not null comment '1:启用 2:禁用',
created_at timestamp     null,
updated_at timestamp     null,
deleted_at timestamp     null
)
comment '钱包表';

`create index wallet_address_token_index
on wallet_address (token);
`

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=qwe123创建一个密码用于支付设置中使用.
  • 注意:因为本项目是独立部署到 docker compose 内,所以第 21,33 行已经修改为 db,redis,不能使用 127.0.0.1.
  • 修改第 48 行 tg_bot_token=为上文创建的 Telegram Bot 的 API Token
  • 修改第 52 行 tg_manage=为上文创建的 Telegram 的用户 ID

epusdt.sql

  • 该文件为数据库初始化文件,请勿修改。

首次启动 {#首次启动}

docker compose up -d

初始化数据库

将下述命令中的 -pCHANGE_YOUR_PASSWORD的密码改为上述设置的新密码,注意需要保留前缀 -p,例如上文修改密码 MYSQL_PASSWORD=qwer1234,此处则为 -pqwer1234

docker exec -i epusdt-db-1 sh -c 'exec mysql -uepusdt -pCHANGE_YOUR_PASSWORD epusdt' < epusdt.sql

执行后无任何显示代表成功,否则将会报错。

重启服务 {#重启服务}

docker compose down
docker compose up -d
或者
docker compose restart

检查服务 {#检查服务}

查看 epusdt服务,显示 http server started on [::]:8000则表示成功.

docker logs -f epusdt-epusdt-1

配置域名反代 {#配置域名反代}

配置反向代理,Nginx示例如下

server {
  server_name examle.com;
  listen 443 ssl http2;
  ssl_certificate <SSL证书路径>.cer;
  ssl_certificate_key <SSL证书路径>.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  listen 80;
  if ($scheme = http) {
    return 301 https://$host:443$request_uri;
  }
  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 X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect http:// https://;
  }
}

访问域名显示 hello epusdt, https://github.com/assimon/epusdt表示成功.

配置支付 {#配置支付}

然后在你想使用 usdt 支付的后台配置支付即可:

密码:api接口认证token设置的值,api_auth_token=

API接口地址:https://examle.com/api/v1/order/create-transaction

设置 usdt 收款地址 {#设置-usdt-收款地址}

进入你新建的 Telegram Bot 机器人,输入 /start

然后机器人会提示你 添加钱包地址,输入你的 USDT 钱包地址即可使用!

赞(0)
未经允许不得转载:工具盒子 » Docker部署Epuset,一款好用的个人USDT收款网关,兼容各种插件