利用 Docker 搭建独角数卡的 支付方式,轻松收取货币!|好玩儿的 Docker 项目

这篇具有很好参考价值的文章主要介绍了利用 Docker 搭建独角数卡的 支付方式,轻松收取货币!|好玩儿的 Docker 项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

更新

邮件 smtp 的配置忘记讲了,大家可以到谷歌搜索一下应该有很多教程,关键词 “smtp 配置”

顺哥轻创资源网 shundazy1  

1. 前言

继上一篇利用 Docker 轻松搭建独角发卡!人人都可以开一个线上小店|好玩儿的 Docker 项目之后,我们今天来为我们的小店搭建一个 USDT 的付款方式。(支付宝当面付也可以搭建,用门头照,不过之前有个梗 ——“当面付当面抓”;第三方支付也可以搭建,但是咕咕没什么经验,里面手续费有的抽成很高,故这俩都不再展开,有兴趣的自行谷歌搜索)

搭建方式首发于 Stille 大佬

咕咕这边附自己的实操记录,补充一些细节部分。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

2. 项目展示

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

3. 相关地址

咕咕的 Demo:https://shop.gugu.ee

GitHub 官方仓库:GitHub - assimon/epusdt: 开源优雅的跨平台usdt收付中间件 Easy Payment USDT——epsdt

此次用到的 GitHub 仓库:https://github.com/stilleshan/dockerfiles/tree/main/epusdt

4. 搭建环境

  • 服务器:咕咕自己搭建用的是 Racknerd 的高性价比服务器(注意地区选美国西部城市的)这个涉及支付和加密货币,不建议用国内的服务器
  • 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)
  • 安装好 Docker、Docker-compose(相关脚本)
  • 【非必需但建议】域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
  • 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)
  • 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程)
  • 一个 telegram 号

    服务器要求:内存建议 1G,能安装 Docker 即可~

5. 搭建视频

5.1 YouTube:

视频地址:https://youtu.be/QeKk5O-B2DQ

6. 搭建方式

6.1 安装 Docker 与 Nginx Proxy Manager

可以直接参考这篇内容:

【Docker系列】一个反向代理神器——Nginx Proxy Manager | 我不是咕咕鸽

6.2 新建 telegram 机器人并获取 token

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

搜索 BotFather 注意有很多假冒的,别弄错了

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

/newbot 一步一步按照提示创建即可

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

创建成功之后,这边就会获得一个 API 的 token,类似:6247111111:Asdajkdaksdhkajshi6aUa6pXH4Rxc

6.3 获取 telegram id

搜索:https://t.me/getmyid_bot

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

得到你的 user ID,类似:980888097

6.4 创建安装目录

创建一下安装的目录:

BASH

sudo -i

mkdir -p /root/data/docker_data/epusdt

cd /root/data/docker_data/epusdt

这边我们直接用 docker 的方式安装。

BASH

vim docker-compose.yml

英文输入法下,按 i

YAML

version: "3"
services:
  db:
    image: mariadb:focal
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=changeyourpassword
      - MYSQL_DATABASE=epusdt
      - MYSQL_USER=epusdt
      - MYSQL_PASSWORD=changeyourpassword
    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
  • 修改 MYSQL_ROOT_PASSWORD 数据库 root 密码
  • 修改 MYSQL_PASSWORD 数据库用户密码
  • 用户名和数据库名不用修改
  • 如服务器 8000 端口可能被占用,需修改 epusdt 映射端口,例如 58000:8000

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

PLAINTEXT

vim epusdt.conf

输入:

PLAINTEXT

app_name=epusdt
#下面配置你的域名,收银台会需要
app_uri=https://你的域名
#是否开启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=changeyourpassword
# 请修改 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=你的tg机器人token
#telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写
tg_proxy=
#管理员userid
tg_manage=你的tgid

#api接口认证token
api_auth_token=changeyourpassword

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

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

注意:

  • 修改第 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

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

PLAINTEXT

vim epusdt.sql

输入:

PLAINTEXT

-- 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);

不用修改,直接切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

6.3 打开服务器防火墙(非必需)并访问网页

打开防火墙的端口 8090

举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

图中示例填的是 5230,备注填的是 memos,这边我们填 8090,示例填 epusdt ,确定即可(如果你在 docker-compose 文件里换了 9009,这边就需要填 9009,以此类推)

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

查看端口是否被占用(以 8090 为例),输入:

BASH

lsof -i:8090  #查看 8090 端口是否被占用,如果被占用,重新自定义一个端口

如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~

如果出现:

BASH

-bash: lsof: command not found

运行:

BASH

apt install lsof  #安装 lsof

如果端口没有被占用(被占用了就修改一下端口,比如改成 8081,注意 docker 命令行里和防火墙都要改)

最后:

BASH

cd /root/data/docker_data/epusdt    # 来到 dockercompose 文件所在的文件夹下

docker-compose up -d 

6.6 初始化数据库

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

如下图执行后无任何显示代表成功,否则将会报错.

BASH

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

6.7 重启服务

BASH

docker-compose down
docker-compose up -d
# 或 restart 重启
docker-compose restart

6.8 检查服务

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

BASH

docker logs -f 你的容器id

通过 docker ps 可以查看到容器 id

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

咕咕这边就是:usdt_epusdt_1

所以:

BASH

docker logs -f usdt_epusdt_1

理论上我们就可以输入 http://ip:8090 访问安装了,但是我们这边先做反代。

注意:

1、不知道服务器 IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的 IP。

2、遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。

这个涉及到钱的,还是非常需要做 https 的!会让网页更安全!

namesilo 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo 上 6 位数字的 xyz 续费永远都是 0.99 美元 = =)

如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 laodade 来获得 1 美元的优惠(不知道现在还有没有)

namesilo 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些丑古老 = =)

【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)

我们接着往下看!

6.4 更新 epusdt

插一个更新和卸载的方法,docker 搭建通用。

BASH

cd /root/data/docker_data/epusdt

docker-compose down 

cp -r /root/data/docker_data/epusdt /root/data/docker_data/epusdt.archive  # 万事先备份,以防万一

docker-compose pull

docker-compose up -d    # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

提示:

BASH

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 

输入 y

利用 Docker 搭建的应用,更新非常容易~

6.5 卸载 epusdt

BASH

cd /root/data/docker_data/epusdt

docker-compose down

cd ..

rm -rf /root/data/docker_data/epusdt  # 完全删除映射到本地的数据

可以卸载得很干净。

7. 反向代理

我们要用域名而不是 IP + 端口的方式来访问我们的服务!

7.1 利用 Nginx Proxy Manager

在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager(相关教程))

注意:

Nginx Proxy Manager(以下简称 NPM)会用到 80443 端口,所以本机不能占用(比如原来就有 Nginx)

直接丢几张图:

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

注意填写对应的 域名IP 和 端口,按文章来的话,应该是 8090

IP 填写:

如果 Nginx Proxy Manager 和 epusdt 在同一台服务器上,可以在终端输入:

BASH

ip addr show docker0

查看对应的 Docker 容器内部 IP。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

否则直接填 epusdt 所在的服务器 IP 就行。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

再次打开,勾选这些:

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

然后就可以用域名来安装访问了。

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

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

7.2 利用宝塔面板

发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:

直接新建一个站点,不要数据库,不要 php,纯静态即可。

然后打开下面的配置,修改 Nginx 的配置。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

代码如下:

NGINX

location / {
  proxy_pass http://127.0.0.1:8090/;       # 注意改成你实际使用的端口
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
}

此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。

有同学可能会问,为什么不直接用宝塔自带的反向代理功能。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =

所以后来就不用了,直接用上面的方法来操作了。

8. 使用教程

8.1 配置支付 - dujiaoka

登录 dujiaoka 后台 - 配置 - 支付配置

最下面开启 epusdt, 并点击编辑.
注意:dujiaoka 2.0.5 版本及以上才默认支持 epusdt, 其他版本请自行升级或者手动安装插件.

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

修改参数
  • 商户 ID 修改为上述创建的密码 changeyourpassword
  • 商户密钥填写 API 地址 https://上文准备的usdt域名.com/api/v1/order/create-transaction 比如咕咕这边就是:https://testusdt.gugu.ovh/api/v1/order/create-transaction

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

设置 usdt 收款地址

先点击机器人,

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

再创建 usdt 收款地址则完成所有部署。

独角 docker,宝塔面板,docker,干货分享,docker,容器,运维

可以自己测试一下。

9. 结尾

祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨。

同时,有能力给项目做贡献的同学,也欢迎积极加入到 项目 中来,贡献自己的一份力量!

最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!

参考资料

GitHub 仓库:GitHub - assimon/epusdt: 开源优雅的跨平台usdt收付中间件 Easy Payment USDT——epsdt
用到的 Stille 大佬镜像:https://github.com/stilleshan/dockerfiles/tree/main/epusdt
Stille 大佬博客:docker 部署 Epusdt - 独角数卡 dujiaoka 的 usdt 支付插件 - 思有云 - IOIOX文章来源地址https://www.toymoban.com/news/detail-780198.html

到了这里,关于利用 Docker 搭建独角数卡的 支付方式,轻松收取货币!|好玩儿的 Docker 项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新手向导:轻松掌握Docker搭建OpenVPN

    OpenVPN是一个开源的VPN软件包,可以创建基于SSL/TLS的安全的VPN隧道,支持多种操作系统和平台。OpenVPN包含:社区版(Community Edition),商业版(Access Server)。 openvpn 社区版是完全免费的,但是需要用户有一定的Linux和命令行的知识,以及自己配置和管理VPN服务器和客户端。社

    2024年03月16日
    浏览(40)
  • Docker-Compose 轻松搭建 Grafana+InfluxDb 实用 Jmeter 监控面板

    目录 前言: 1、背景 2、Granfana+InfluxDB 配置 2.1 服务搭建 2.2 配置 Grafana 数据源 2.3 配置 Grafana 面板 3、Jmeter 配置 3.1 配置 InfluxDB 监听器 3.2 实际效果 Grafana 和 InfluxDB 是两个非常流行的监控工具,它们可以帮助开发者对系统的性能和可用性进行实时监控。 前几天刚做了一个在

    2024年02月16日
    浏览(37)
  • 利用docker搭建大数据集群

    环境: Linux centeros7/8/9 更新yum yum update -y 下载docker(可以指定版本,这里我们直接下载最新版docker) yum install docker 启动docker systemctl start docker  设置开机自启动 systemctl enable docker 校验是否启动成功 docker images 如果出现图一的样子,表示启动成功 找到并进入dockerImage文件夹执

    2024年02月05日
    浏览(17)
  • 利用Docker 实现 MiniOB环境搭建

    官方文档有,但是感觉写的跟shift一样(或者是我的阅读理解跟shift一样 下面是自己的理解 这个去官网下载安装,没什么说的 Docker: Accelerated Container Application Development 1.打开powershell ( win + r ,然后输入powershell,再回车 2.输入: 3.运行: 接二.3,在输入docker exec -it miniob bash 后,再输入: (可

    2024年04月14日
    浏览(14)
  • 利用docker搭建redis哨兵模式

    一主二从三哨兵,如果Master 节点断开了,这个时候就会从从机中随机选择一个服务器! (这里面有一个投票算法!)如果主机此时回来了,只能归并到新的主机下,当做从机,这就是哨兵模式的规则! 主机:设置key 从机:读取key,有数据代表主从实现成功 注意:不同版本的

    2024年02月06日
    浏览(30)
  • 利用docker搭建mysql主从服务器

    1.首先拉取docker镜像,我们这里使用5.7版本的mysql: 2.然后使用此镜像启动容器,这里需要分别启动主从两个容器 3.配置Master(主) 通过docker名称进入:docker exec -it master /bin/bash`/

    2024年02月11日
    浏览(34)
  • 利用docker compose 搭建 elasticsearch 和kibana

    本文介绍了从docker compose 搭建 elasticsearch 并安装IK 分词插件,然后再用kibana测试的详细步骤。 1.1 下载镜像 1.2 下载IK分词插件 从官方网站 Releases · medcl/elasticsearch-analysis-ik · GitHub 下载对应版本的分词插件,因为我们的 elasticsearch 为 7.17.1 所以下载 elasticsearch-analysis-ik-7.17.1.z

    2024年02月11日
    浏览(31)
  • 【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Redis从头学 应用 版本/型号 服务器 腾讯云轻量服务器 镜像 Centos 7.6 Docker 1.13.1 Redis redis-6.2.1 Docker-Compose 1.29.2 Redis发生

    2024年02月11日
    浏览(35)
  • 利用Docker搭建Linux ARM64架构编译环境

    不想折腾交叉编译环境,但是又实在忍不了A53上编译工程的龟速,于是乎就想着是不是可以通过Docker搭一个arm linux开发环境,这样编译好的工程直接拷进A53中就可以运行了。说干就干,踩了一些坑,但是最终还是成功了。这里简单记录一下,你们能不能看懂,就看自己的造化

    2024年02月11日
    浏览(26)
  • 在windows11系统上利用docker搭建linux记录

    我的windows11系统上,之前已经安装好了window版本的docker,没有安装的小伙伴需要去安装一下。 工具是:windows PowerShell 下面直接记录安装linux的步骤: 安装后可以使用ssh登录linux 查看ssh服务是否启动 1)、安装vim工具 2)、 编辑sshd_config文件 添加一行数据: 3)、 重启ssh服务

    2024年02月02日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包