【docker】部署自己的每日热榜 | DailyHot

2024-08-20 18:56:49 浏览数 (2)

本文发布于332天前,最后更新于137天前,其中的信息可能有所发展或是发生改变。

1. 前言

1.1 项目地址

项目地址:imsyy/DailyHotApi: 今日热榜 API,一个聚合热门数据的 API 接口,支持 Vercel 部署

Docker-API:liwangsheng/dailyhot-api – Docker Image | Docker Hub

Docker-前端:liwangsheng/dailyhot-web – Docker Image | Docker Hub

调用的接口十分丰富,哔哩哔哩、微博、抖音、知乎、百度等平台都收录在内!

展示:

1.2 准备

官方的部署方式是不需要docker的,我们这里使用第三方的docker进行部署。具体安装见:【docker】在服务器上安装 docker/docker-compose

2. 部署API

2.1 vercel部署

2.1.1 fork项目

夜梦这里推荐使用VERCEL进行部署,这样以后迁移前端的时候不会影响API的使用。

先在GitHub上面fork一份项目到自己的仓库中。

GitHub地址:imsyy/DailyHotApi: 今日热榜 API

2.1.2 部署API

Vercel 官网点击 New Project

点击 Import Git Repository 并选择你 fork 的此项目并点击 import

PROJECT NAME自己填,FRAMEWORK PRESETOther 然后直接点 Deploy 接着等部署完成即可

部署完成后,访问VERCEL给你的域名就可以进入API接口的页面。

2.1.3 设置自定义域名

未设置自定义域名将无法使用API,所以请添加自己的域名到vercel中。

2.2 docker部署

当然你也可以直接使用docker(官方)部署API:

代码语言:javascript复制
# 拉取
docker pull imsyy/dailyhot-api:latest
# 运行,默认6688端口,如果端口冲突可以把左边的6688换成别的端口
docker run -p 6688:6688 -d imsyy/dailyhot-api:latest

3. 部署前端

前端推荐使用docker-compose部署,修改配置比较方便。

新建文件夹

代码语言:javascript复制
mkdir -p /root/data/docker_data/dailyhot && cd /root/data/docker_data/dailyhot

创建配置文件:

代码语言:javascript复制
vim docker-compose.yml

修改配置文件(将API修改为VERCEL提供的项目域名或者是本地IP端口):

代码语言:javascript复制
version: '3'
services:
  dailyhot-web:
    image: liwangsheng/dailyhot-web
    container_name: dailyhot-web
    ports:
      - "6677:80"
    environment:
      - API=https://yemengdailyhot.vercel.app  # 修改为你自己的API,API的URL后面不要加/,如果是本地部署的API,填http://ip:6688
      - ICP=夜梦的dailyhot没有备案捏 # 有就填
    restart: always

最后启动即可

代码语言:javascript复制
docker-compose up -d

4. 反向代理

夜梦建议你完成反向代理并开启 SSL,具体为你的域名 -> 服务器IP:6677,反代可以参考下面两篇文章:

【docker】反向代理神器 ——Nginx Proxy Manager 的安装

【docker】Nginx Proxy Manager 的使用

5. 演示

效果如下图,有的接口可能挂了,美观起见设置里面关掉就行。

0 人点赞