Skip to content

Commit c7413a0

Browse files
Merge pull request #1 from TranscodeGroup/pr/one-repo
refactor: 统一仓库
2 parents 1b258d1 + d784ac6 commit c7413a0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+5391
-75
lines changed

.env

Lines changed: 0 additions & 29 deletions
This file was deleted.

.env.default

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
## 服务器IP, 网关等服务不设置IP的时候,默认会读取这个
2+
# 必填,当前服务器外网IP
3+
SERVER_IP_PUBLIC='' # 127.0.0.1
4+
# 必填, 当前服务器内网IP
5+
SERVER_IP_INTERNAL='' # 127.0.0.1
6+
# 服务器域名
7+
SERVER_HOSTNAME='' # livedvr.tripsdd.com
8+
SSL_CERTIFICATE='' # /home/docker-compose/ssl/livedvr_tripsdd_com
9+
10+
# bus和track部署在同一台服务器上时, 需要通过域名区分两者
11+
BUS_HOSTNAME=${SERVER_HOSTNAME}
12+
BUS_SSL_CERTIFICATE=${SSL_CERTIFICATE}
13+
TRACK_HOSTNAME=${SERVER_HOSTNAME}
14+
TRACK_SSL_CERTIFICATE=${SSL_CERTIFICATE}
15+
16+
#---------------------------------------------
17+
# 前端配置
18+
WEB_PORT_HTTP=80
19+
WEB_PORT_HTTPS=443
20+
WEB_BASE_URL='' # https://livedvr.tripsdd.com
21+
#---------------------------------------------
22+
23+
## 视频服务器
24+
# 必填, 视频外网IP, APP客户端和设备连接
25+
VIDEO_IP=${SERVER_IP_PUBLIC}
26+
# 必填
27+
VIDEO_HOSTNAME=${SERVER_HOSTNAME} # livedvr.tripsdd.com
28+
# 必填, 证书文件的绝对路径, 排除.crt/.key后缀, nginx使用的是 $VIDEO_SSL_CERTIFICATE.crt 和 $VIDEO_SSL_CERTIFICATE.key 两个文件
29+
VIDEO_SSL_CERTIFICATE=${SSL_CERTIFICATE} # /home/docker/video-nginx/ssl/livedvr_tripsdd_com
30+
31+
# 终端-实时直播端口
32+
VIDEO_PORT_LIVE=9000
33+
# 终端-录像回放端口
34+
VIDEO_PORT_RECORD=9001
35+
# 终端-对讲
36+
VIDEO_PORT_TALK=9002
37+
# 终端-终端监听
38+
VIDEO_PORT_MONITOR=9003
39+
# rtmp端口(rtp和app使用)
40+
VIDEO_PORT_RTMP=9005
41+
42+
# 前端和App对讲&flv的https端口,目前使用5个端口, 大于支持30个通道
43+
# 增加端口需要修改nginx的config和docker-compose.yml以及rtp服务映射
44+
VIDEO_PORT_HTTPS_0=443 # 推荐443或者9084
45+
VIDEO_PORT_HTTPS_1=9085
46+
VIDEO_PORT_HTTPS_2=9086
47+
VIDEO_PORT_HTTPS_3=9087
48+
VIDEO_PORT_HTTPS_4=9088
49+
VIDEO_PORT_HTTPS_5=9089
50+
51+
#---------------------------------------------
52+
53+
## 网关服务器
54+
55+
# 必填, 后端和流媒体服务往网关服务器注册或者下发指令
56+
# 单机部署推荐别名jtt808,内网多服务器部署推荐内网IP, 外网部署使用外网IP
57+
JTT808_HOST='jtt808' # jtt808 | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
58+
59+
## 808网关
60+
JTT808_IP=${SERVER_IP_PUBLIC} # 默认使用服务器外网IP,设备使用
61+
JTT808_PORT=9011
62+
JTT808_PORT_HTTP=9012
63+
JTT808_PORT_FILE=9013
64+
JTT808_PORT_FTP=9021
65+
JTT808_PORT_FTP_ACTIVE=9022
66+
JTT808_PORT_FTP_PASSIVE=9041-9049
67+
68+
#---------------------------------------------
69+
70+
## maintain
71+
MAINTAIN_HOST='maintain' # maintain | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
72+
MAINTAIN_PORT='8080'
73+
# 必填, TOKEN目录的绝对路径
74+
# - access/ras_key|ras_key.pub: 访问密钥的公私钥对
75+
# - refresh/ras_key|ras_key.pub: 刷新密钥的公私钥对
76+
# - ip2region.xdb: ip到区域的映射数据, 下载连接: https://raw.githubusercontent.com/lionsoul2014/ip2region/master/data/ip2region.xdb
77+
MAINTAIN_TOKEN_DIR=''
78+
79+
## MYSQL, 必填
80+
MYSQL_HOST='mysql8' # mysql8 | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
81+
MYSQL_PORT=3306
82+
MYSQL_USERNAME='root' #xxxxxxxx
83+
MYSQL_PASSWORD='' #xxxxxxxx
84+
85+
## REDIS, 必填
86+
REDIS_HOST='redis' # redis | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
87+
REDIS_PORT=6379
88+
REDIS_PASSWORD='' #xxxxxxxx
89+
90+
## MongoDB, jtt808必填
91+
MONGODB_HOST='mongodb' # mongodb | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
92+
MONGODB_PORT=27017
93+
MONGODB_PORT_HTTP=15672
94+
MONGODB_USERNAME='root' # MONGODB
95+
MONGODB_PASSWORD='' # MONGODB
96+
97+
## Rabbitmq, Rtp存储模式必填
98+
RABBITMQ_HOST='rabbitmq' # rabbitmq | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
99+
RABBITMQ_PORT=5672
100+
RABBITMQ_USERNAME='admin' # admin
101+
RABBITMQ_PASSWORD='' # 123
102+
103+
## Minio, Rtp存储模式必填, 规避RTP-9000端口冲突
104+
MINIO_HOST='minio' # minio | ${SERVER_IP_INTERNAL} | ${SERVER_IP_PUBLIC}
105+
MINIO_PORT=8000
106+
MINIO_PORT_HTTP=8001
107+
MINIO_USER=minioadmin
108+
MINIO_PASSWORD='' # xxxxxxxxxxxxxxxx
109+
# MINIO_ACCESSKEY/SECRETKEY, 默认使用帐号&密码, 也可以在minio的管理后台创建一组新的KEY
110+
MINIO_ACCESSKEY=${MINIO_USER} # xxxxxxxxxxxxxxxx
111+
MINIO_SECRETKEY=${MINIO_PASSWORD} # xxxxxxxxxxxxxxxxx
112+
113+
#---------------------------------------------
114+
115+
## 邮件
116+
MAIL_HOST=smtp.transcodegroup.com
117+
118+
# 需要去企业邮箱中创建密码
119+
MAIL_PASSWORD='' #xxxxxxxxxxxxxxxx

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @jss-tg @TranscodeGroupDeveloper @xiaorongnie

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
*.crt
3+
*.key
4+
ip2region.xdb
5+
/compose.yaml
6+
/.env
7+
/.env.local
8+
/tmp

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# docker
2+
3+
docker配置文件仓库
4+
5+
## 部署
6+
7+
### 1. 初始化
8+
9+
```sh
10+
git clone https://github.com/TranscodeGroup/docker.git /home/docker
11+
mkdir /home/docker-compose
12+
mkdir /data
13+
```
14+
15+
### 2. 配置compse.yaml
16+
17+
创建`/home/docker-compose/compose.yaml`文件, 参考如下示例:
18+
19+
- [RTP存储 - video.storage.stack.yaml](./video.storage.stack.yaml)
20+
- [RTP视频 - video.stream.stack.yaml](./video.stream.stack.yaml)
21+
22+
### 3. 配置.env
23+
24+
创建`/home/docker-compose/.env`文件, 参考[.env.default](./.env.default)复写需要改写的配置项.
25+
26+
使用在`/home/docker-compose`中执行如下命令, 验证所有使用到的必填的值, 是否已经设置:
27+
28+
```sh
29+
docker compose config
30+
```

docker-nginx/docker-compose.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

environments/.env.video.storage

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## 视频服务器
2+
VIDEO_IP=58.82.168.181
3+
VIDEO_HOSTNAME=livedvr.tripsdd.com
4+
# 证书文件的绝对路径, 排除.crt/.key后缀, nginx使用的是 $VIDEO_SSL_CERTIFICATE.crt 和 $VIDEO_SSL_CERTIFICATE.key 两个文件
5+
VIDEO_SSL_CERTIFICATE=/home/docker-compose/ssl/livedvr_tripsdd_com
6+
7+
## 网关服务器
8+
JTT808_HOST=103.20.204.149
9+
10+
# RABBITMQ
11+
RABBITMQ_HOST=1111 # 58.82.168.181
12+
RABBITMQ_PORT=5672
13+
RABBITMQ_PASSWORD=111 # 123
14+
15+
# MINIO
16+
MINIO_PASSWORD=11 # xxxxxxxxxxxxxxxx

environments/.env.video.stream

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## 视频服务器
2+
VIDEO_IP=58.82.168.181
3+
VIDEO_HOSTNAME=livedvr.tripsdd.com
4+
# 证书文件的绝对路径, 排除.crt/.key后缀, nginx使用的是 $VIDEO_SSL_CERTIFICATE.crt 和 $VIDEO_SSL_CERTIFICATE.key 两个文件
5+
VIDEO_SSL_CERTIFICATE=/home/docker-compose/ssl/livedvr_tripsdd_com
6+
7+
## 网关服务器
8+
JTT808_HOST=103.20.204.149

jtt808/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.env.default

jtt808/compose.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
services:
2+
jtt808:
3+
image: transcodegroup/jtt808-server:latest
4+
container_name: jtt808_server
5+
restart: always
6+
ports:
7+
- ${JTT808_PORT}:${JTT808_PORT}
8+
- ${JTT808_PORT_HTTP}:${JTT808_PORT_HTTP}
9+
- ${JTT808_PORT_FILE}:${JTT808_PORT_FILE}
10+
- ${JTT808_PORT_FTP}:${JTT808_PORT_FTP}
11+
- ${JTT808_PORT_FTP_ACTIVE}:${JTT808_PORT_FTP_ACTIVE}
12+
- ${JTT808_PORT_FTP_PASSIVE}:${JTT808_PORT_FTP_PASSIVE}
13+
volumes:
14+
- "/etc/localtime:/etc/localtime:ro"
15+
- "/data/jtt808:/data/jtt808"
16+
- "/data/logs/jtt808:/logs"
17+
environment:
18+
# 监听端口
19+
- gateway_ip=${JTT808_IP:?required}
20+
- gateway_port=${JTT808_PORT}
21+
- gateway_api-port=${JTT808_PORT_HTTP}
22+
- gateway_file-port=${JTT808_PORT_FILE}
23+
# FTP服务
24+
- gateway_ftp_ip=${JTT808_IP:?required}
25+
- gateway_ftp_port=${JTT808_PORT_FTP}
26+
- gateway_ftp_active_port=${JTT808_PORT_FTP_ACTIVE}
27+
- gateway_ftp_passive_ip=${JTT808_IP:?required}
28+
- gateway_ftp_passive_ports=${JTT808_PORT_FTP_PASSIVE}
29+
30+
# 终端注册服务
31+
- gateway_device-register-url=${WEB_BASE_URL}
32+
# 网关Http服务, 需要代理?
33+
- gateway_http_url=${WEB_BASE_URL}/jtt808
34+
35+
# MongoDB
36+
- spring_data_mongodb_host=${MONGODB_HOST:-mongodb}
37+
- spring_data_mongodb_port=${MONGODB_PORT:-27017}
38+
- spring_data_mongodb_username=${MONGODB_USERNAME:?required}
39+
- spring_data_mongodb_password=${MONGODB_PASSWORD:?required}
40+
41+
# RabbitMq
42+
- spring_rabbitmq_host=${RABBITMQ_HOST:-rabbitmq}
43+
- spring_rabbitmq_port=${RABBITMQ_PORT:-5672}
44+
- spring_rabbitmq_username=${RABBITMQ_USERNAME:-admin}
45+
- spring_rabbitmq_password=${RABBITMQ_PASSWORD:?required}
46+
- spring_rabbitmq_virtual-host=/track
47+
48+
# 网关日志写法1
49+
- logging_level_root=INFO
50+
- logging.level.io.netty.handler.logging.LoggingHandler=INFO
51+
# 网关日志写法2
52+
# - SPRING_APPLICATION_JSON={"logging.level.io.netty.handler.logging.LoggingHandler":"DEBUG"}
53+
logging:
54+
driver: "json-file"
55+
options:
56+
max-size: "100m"
57+
ulimits:
58+
nproc: 65535
59+
nofile:
60+
soft: 20000
61+
hard: 40000

0 commit comments

Comments
 (0)