Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ ip2region.xdb
/.env
/.env.local
/tmp
/scripts/*.zip
22 changes: 21 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,27 @@ git clone https://github.com/TranscodeGroup/docker.git /home/docker
docker compose config
```

### 4. 启动
### 4. 下载前端文件

下载并提取最新的`bus`前端:

```sh
cd /data/nginx/html
/home/docker/scripts/teamcity-download-artifact.sh --build=CityBusVueAdmin_Release
unzip CityBusVueAdmin_Release-latest.zip
unzip bus.zip -d bus
```

下载并提取最新的`track`前端:

```sh
cd /data/nginx/html
/home/docker/scripts/teamcity-download-artifact.sh --build=MaintainVbenAdmin_Release
unzip MaintainVbenAdmin_Release-latest.zip
unzip maintain.zip -d track
```

### 5. 启动

在`/home/docker-compose`中执行如下命令, 启动docker:

Expand Down
1 change: 1 addition & 0 deletions bus/.env
202 changes: 202 additions & 0 deletions bus/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
services:
gateway_808_2019:
image: transcodegroup/gateway-808-2019:latest
container_name: gateway_808_2019
restart: always
volumes:
- /data/files:/data/files
- /data/logs/gateway_808_2019:/logs
environment:
- gateway_ip=${JTT808_IP}
- gateway_port=${JTT808_PORT}
- gateway_type=bus-gps
# 主动安全文件服务器
- gateway_file-host=${JTT808_IP:?required}
- gateway_file-port=${JTT808_PORT_FILE}
# FTP
- gateway_ftp_ip=${JTT808_IP:?required}
- gateway_ftp_port=${JTT808_PORT_FTP}
- gateway_ftp_active-port=${JTT808_PORT_FTP_ACTIVE}
- gateway_ftp_passive-ip=${JTT808_IP:?required}
- gateway_ftp_passive-ports=${JTT808_PORT_FTP_PASSIVE}
- gateway_ftp_file-save-days=30

# DB
- SPRING_DATASOURCE_URL=jdbc:mysql://${MYSQL_HOST:-mysql}:${MYSQL_PORT:-3306}/cbus?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=${MYSQL_USERNAME:-root}
- SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:?required}

# REDIS
- SPRING_REDIS_HOST=${REDIS_HOST:-redis}
- SPRING_REDIS_PORT=${REDIS_PORT:-6379}
- SPRING_REDIS_PASSWORD=${REDIS_PASSWORD:?required}

# 日志
- logging_level_io_netty_handler_logging_LoggingHandler=WARN
- logging.level.org.apache.ftpserver=WARN
ports:
- ${JTT808_PORT}:${JTT808_PORT}
- ${JTT808_PORT_FTP}:${JTT808_PORT_FTP}
- ${JTT808_PORT_FTP_ACTIVE}:${JTT808_PORT_FTP_ACTIVE}
- ${JTT808_PORT_FTP_PASSIVE}:${JTT808_PORT_FTP_PASSIVE}
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
# json-file
logging:
driver: "json-file"
options:
max-size: "50M"
max-file: "1"

# spring-boot后端
gateway_web:
image: transcodegroup/gateway-web
container_name: gateway_web
restart: always
volumes:
- /data/files:/data/files
- /usr/share/fonts:/usr/share/fonts
# ports:
# 内部端口, 不暴露
# - 8899:8899
environment:
- DYNAMIC_TABLE=TRUE
- STORAGE_ACTIVE=TRUE
- SPRING_SERVLET_MULTIPART_MAX-FILE-SIZE=100MB
# DB
- SPRING_DATASOURCE_URL=jdbc:mysql://${MYSQL_HOST:-mysql}:${MYSQL_PORT:-3306}/cbus?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=${MYSQL_USERNAME:-root}
- SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:?required}

# REDIS
- SPRING_REDIS_HOST=${REDIS_HOST:-redis}
- SPRING_REDIS_PORT=${REDIS_PORT:-6379}
- SPRING_REDIS_PASSWORD=${REDIS_PASSWORD:?required}

# RABBITMQ
- spring.rabbitmq.host=${RABBITMQ_HOST:-rabbitmq}
- spring.rabbitmq.port=${RABBITMQ_PORT:-5672}
- spring.rabbitmq.username=${RABBITMQ_USERNAME:-admin}
- spring.rabbitmq.password=${RABBITMQ_PASSWORD:?required}
- spring.rabbitmq.virtual-host=/track
# RABBITMQ-STOMP
- rabbit.mq.host=${RABBITMQ_HOST:-rabbitmq}
- rabbit.mq.port=${RABBITMQ_PORT_STOMP:-61613}
- rabbit.mq.login=${RABBITMQ_USERNAME:-admin}
- rabbit.mq.passcode=${RABBITMQ_PASSWORD:?required}
- rabbit.mq.virtual=/track
depends_on:
- redis
- rabbitmq
logging:
driver: "json-file"
options:
# 限制日志文件大小
max-size: "100m"
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000

# spring-boot调度
gateway_dispatch:
image: transcodegroup/gateway-dispatch
container_name: gateway_dispatch
restart: always
volumes:
- /data/files:/data/files
# ports:
# 内部端口, 不暴露
# - 8011:8011
depends_on:
- redis
- rabbitmq
environment:
- DYNAMIC_TABLE=TRUE
# DB
- SPRING_DATASOURCE_URL=jdbc:mysql://${MYSQL_HOST:-mysql}:${MYSQL_PORT:-3306}/cbus?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=${MYSQL_USERNAME:-root}
- SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:?required}

# REDIS
- SPRING_REDIS_HOST=${REDIS_HOST:-redis}
- SPRING_REDIS_PORT=${REDIS_PORT:-6379}
- SPRING_REDIS_PASSWORD=${REDIS_PASSWORD:?required}

# RABBITMQ
- spring.rabbitmq.host=${RABBITMQ_HOST:-rabbitmq}
- spring.rabbitmq.port=${RABBITMQ_PORT:-5672}
- spring.rabbitmq.username=${RABBITMQ_USERNAME:-admin}
- spring.rabbitmq.password=${RABBITMQ_PASSWORD:?required}
- spring.rabbitmq.virtual-host=/track
# RABBITMQ-STOMP
- rabbit.mq.host=${RABBITMQ_HOST:-rabbitmq}
- rabbit.mq.port=${RABBITMQ_PORT_STOMP:-61613}
- rabbit.mq.login=${RABBITMQ_USERNAME:-admin}
- rabbit.mq.passcode=${RABBITMQ_PASSWORD:?required}
- rabbit.mq.virtual=/track
logging:
driver: "json-file"
options:
# 限制日志文件大小
max-size: "100m"
# 主动安全
gateway_jsatl12:
image: transcodegroup/gateway-jsatl12
container_name: gateway_jsatl12
restart: always
ports:
- ${JTT808_PORT_FILE}:${JTT808_PORT_FILE}
volumes:
- "/data/logs/jsatl12:/logs"
- "/data/files/alarm:/data/files/alarm"
environment:
- gateway_expire_days=16
# REDIS
- SPRING_REDIS_HOST=${REDIS_HOST:-redis}
- SPRING_REDIS_PORT=${REDIS_PORT:-6379}
- SPRING_REDIS_PASSWORD=${REDIS_PASSWORD:?required}
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
logging:
driver: "json-file"
options:
# 限制日志文件大小
max-size: "100m"
gateway_calculation:
image: transcodegroup/gateway-calculation
container_name: gateway_calculation
restart: always
volumes:
- /data/logs/gateway_calculation:/logs
- /data/files:/data/files
environment:
# 默认开启分区存储
- DYNAMIC_TABLE=TRUE
- STORAGE_ACTIVE=FALSE
# DB
- SPRING_DATASOURCE_URL=jdbc:mysql://${MYSQL_HOST:-mysql}:${MYSQL_PORT:-3306}/cbus?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
- SPRING_DATASOURCE_USERNAME=${MYSQL_USERNAME:-root}
- SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:?required}

# REDIS
- SPRING_REDIS_HOST=${REDIS_HOST:-redis}
- SPRING_REDIS_PORT=${REDIS_PORT:-6379}
- SPRING_REDIS_PASSWORD=${REDIS_PASSWORD:?required}
ulimits:
nproc: 65535
nofile:
soft: 20000
hard: 40000
logging:
driver: "json-file"
options:
# 限制日志文件大小
max-size: "100m"
24 changes: 24 additions & 0 deletions examples/bus/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
##参考广西恭县服务器开放9000-9100端口

## HOSTNAME 没有用公网IP替代
SERVER_HOSTNAME=''
## 公网IP
SERVER_IP_PUBLIC=''
## 宿主机内网IP
SERVER_IP_INTERNAL=''

# nginx前端配置
WEB_PORT_HTTP=9080

## MYSQL, 必填
MYSQL_PASSWORD=''
## redis
REDIS_PASSWORD=''
## rabbitMq
RABBITMQ_PASSWORD=''

## Email
MAIL_PASSWORD=''

## SSL证书, 没有启用证书, 只是占位符
SSL_CERTIFICATE='/home/docker-compose/ssl/gc_transcodegroup_cn'
17 changes: 17 additions & 0 deletions examples/bus/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# BUS单机部署模版
include:
- ../docker/mysql5.7/compose.yml
- ../docker/rabbitmq/compose.yml
- ../docker/redis/compose.yml
- ../docker/bus/compose.yml
- path:
- ../docker/video-nginx/compose.yml
- ../docker/video-nginx/compose.http.yml
- path:
- ../docker/video/compose.yml
- ../docker/video/compose.bus.yml
- ../docker/video/compose.bus.http.yml
- path:
- ../docker/nginx/compose.yml
- ../docker/nginx/compose.bus.yml

1 change: 1 addition & 0 deletions mysql5.7/.env
20 changes: 20 additions & 0 deletions mysql5.7/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
services:
mysql:
image: transcodegroup/mysql
container_name: mysql
restart: always
ports:
- ${MYSQL_PORT:-3306}:3306
volumes:
- /data/mysql5.7/data:/var/lib/mysql
- /data/mysql5.7/logs:/var/log/mysql
- /data/mysql5.7/backup/database:/mysql/backup/database
- /data/mysql5.7/backup/log:/mysql/backup/log
environment:
# 设置密码
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD:?required}
logging:
driver: "json-file"
options:
# 限制日志文件大小
max-size: "100m"
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
Date: 29/04/2025 17:54:11
*/

-- 创建maintain数据库
CREATE DATABASE IF NOT EXISTS maintain DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE maintain;

Expand Down
Loading