|
| 1 | +## ================================ Directory ================================ |
| 2 | + |
| 3 | +# Data directory, used for storing logs/database/files, etc. |
| 4 | +DATA_DIR=/data |
| 5 | +# Docker repository directory. It is not recommended to reference the absolute path of the docker repository in the compose file. It is recommended to use configs instead: https://docs.docker.com/reference/compose-file/configs/ |
| 6 | +DOCKER_DIR=/home/docker |
| 7 | +# Project configuration directory |
| 8 | +DOCKER_COMPOSE_DIR=/home/docker-compose |
| 9 | +# bus frontend file override directory. Files in this directory will be copied to the bus frontend directory when compose is up. Usually, the following files can be overridden: |
| 10 | +# - _app.config.js: Frontend configuration file |
| 11 | +BUS_WEB_OVERRIDE_DIR=${DOCKER_COMPOSE_DIR}/bus-override |
| 12 | +# track frontend file override directory. Files in this directory will be copied to the track frontend directory when compose is up. Usually, the following files can be overridden: |
| 13 | +# - _app.config.js: Frontend configuration file |
| 14 | +# - index-seo.html: Static page for crawlers (search engine/Line web page abstract, etc.) |
| 15 | +# - favicon.ico: ico icon |
| 16 | +# - favicon.png: png icon |
| 17 | +# - logo.png: Large icon |
| 18 | +TRACK_WEB_OVERRIDE_DIR=${DOCKER_COMPOSE_DIR}/track-override |
| 19 | +# Absolute path of TOKEN directory, including the following files. The latest server version already supports automatic generation/download of these files: |
| 20 | +# - access/ras_key|ras_key.pub: Public/private key pair for access secret |
| 21 | +# - refresh/ras_key|ras_key.pub: Public/private key pair for refresh secret |
| 22 | +# - ip2region.xdb: ip to region mapping data, manual download link: https://raw.githubusercontent.com/lionsoul2014/ip2region/master/data/ip2region.xdb |
| 23 | +MAINTAIN_TOKEN_DIR=${DOCKER_COMPOSE_DIR}/token |
| 24 | +# jtt808 optional feature directory, optionally including the following files, see download details: https://github.com/TranscodeGroup/docker/blob/master/jtt808/README.md |
| 25 | +# - ffmpeg, ffprobe: FFmpeg bin files |
| 26 | +# - ifv2mp4/: Tongli ifv to mp4 tool directory |
| 27 | +JTT808_OPT_DIR=${DOCKER_COMPOSE_DIR}/opt |
| 28 | + |
| 29 | +## ================================ Server Info ================================ |
| 30 | + |
| 31 | +# Required, current server public IP. If jtt808/video and other services do not set IP, this will be read by default |
| 32 | +SERVER_IP_PUBLIC='' # 58.82.168.181 |
| 33 | + |
| 34 | +# Current server internal IP, currently no one uses it, can be left blank |
| 35 | +# JTT808_HOST/MYSQL_HOST and other variables, single machine deployment can use alias directly (eg: jtt808), intranet multi-server deployment recommends intranet IP, public network deployment uses public IP |
| 36 | +SERVER_IP_INTERNAL='' |
| 37 | + |
| 38 | +# Required, server domain name, if there is no domain name, fill in the public IP |
| 39 | +SERVER_HOSTNAME='' # livedvr.tripsdd.com |
| 40 | + |
| 41 | +# Required, absolute path of the certificate file, excluding .crt/.key suffix. nginx actually reads the two files ${SSL_CERTIFICATE}.crt and ${SSL_CERTIFICATE}.key |
| 42 | +# If using http, or using https but no certificate has been applied for temporarily, it can be set to the built-in fake certificate: /home/docker/nginx/ssl/placeholder |
| 43 | +# If using crotbot to automatically apply for a certificate, you need to start it separately first (docker compose up crotbot). The applied certificate path will be printed in the log, and then add it to the variable, generally: /data/certbot/live/${SERVER_HOSTNAME}/certificate, |
| 44 | +SSL_CERTIFICATE='' # /home/docker/nginx/ssl/placeholder |
| 45 | + |
| 46 | +# When bus and track are deployed on the same server, they need to be distinguished by domain name |
| 47 | +BUS_HOSTNAME=${SERVER_HOSTNAME} |
| 48 | +BUS_SSL_CERTIFICATE=${SSL_CERTIFICATE} |
| 49 | +TRACK_HOSTNAME=${SERVER_HOSTNAME} |
| 50 | +TRACK_SSL_CERTIFICATE=${SSL_CERTIFICATE} |
| 51 | + |
| 52 | +## Frontend Configuration |
| 53 | +WEB_PORT_HTTP=80 |
| 54 | +WEB_PORT_HTTPS=443 |
| 55 | +# Frontend public URL |
| 56 | +# This variable must be filled in when jtt808 and maintain are deployed separately |
| 57 | +WEB_BASE_URL='' # https://livedvr.tripsdd.com |
| 58 | + |
| 59 | +# certbot configuration |
| 60 | +# Note: After modifying these configurations, you must force recreation (docker compose up --force-recreate certbot) to take effect |
| 61 | +# |
| 62 | +# DNS resolution provider, common providers are as follows: |
| 63 | +# - dnspod: https://console.dnspod.cn/account/token/token |
| 64 | +# - cloudflare: https://go-acme.github.io/lego/dns/cloudflare/ |
| 65 | +# - tencentcloud: https://console.cloud.tencent.com/cam/capi |
| 66 | +CERTBOT_DNS_PROVIDER='dnspod' |
| 67 | +CERTBOT_DNS_API_KEY='' # Required |
| 68 | +# tencentcloud also needs to set this variable extra |
| 69 | +CERTBOT_TENCENTCLOUD_SECRET_ID='' |
| 70 | +# Email to receive certificate expiration reminder |
| 71 | +CERTBOT_EMAIL='transcodegroupdeveloper@gmail.com' |
| 72 | + |
| 73 | +## ================================ Services ================================ |
| 74 | + |
| 75 | +## Video Server |
| 76 | +# Required, video public IP, APP client and device connection |
| 77 | +VIDEO_IP=${SERVER_IP_PUBLIC} |
| 78 | +# Required |
| 79 | +VIDEO_HOSTNAME=${SERVER_HOSTNAME} # livedvr.tripsdd.com |
| 80 | +# Required |
| 81 | +VIDEO_SSL_CERTIFICATE=${SSL_CERTIFICATE} # /home/docker/video-nginx/ssl/livedvr_tripsdd_com |
| 82 | + |
| 83 | +# Terminal - Real-time Live Port |
| 84 | +VIDEO_PORT_LIVE=9000 |
| 85 | +# Terminal - Video Playback Port |
| 86 | +VIDEO_PORT_RECORD=9001 |
| 87 | +# Terminal - Intercom |
| 88 | +VIDEO_PORT_TALK=9002 |
| 89 | +# Terminal - Terminal Monitor |
| 90 | +VIDEO_PORT_MONITOR=9003 |
| 91 | +# rtmp port (used by rtp and app) |
| 92 | +VIDEO_PORT_RTMP=9005 |
| 93 | + |
| 94 | +# HTTPS ports for Frontend and App intercom & flv, currently using 5 ports, supporting more than 30 channels |
| 95 | +# Adding ports requires modifying nginx config and docker-compose.yml as well as rtp service mapping |
| 96 | +VIDEO_PORT_HTTPS_0=9084 # Recommended 443 or 9084 |
| 97 | +VIDEO_PORT_HTTPS_1=9085 |
| 98 | +VIDEO_PORT_HTTPS_2=9086 |
| 99 | +VIDEO_PORT_HTTPS_3=9087 |
| 100 | +VIDEO_PORT_HTTPS_4=9088 |
| 101 | +VIDEO_PORT_HTTPS_5=9089 |
| 102 | + |
| 103 | +## Gateway Server |
| 104 | +# Required, backend and streaming media services register or issue commands to the gateway server |
| 105 | +JTT808_HOST='jtt808' |
| 106 | +JTT808_IP=${SERVER_IP_PUBLIC} # Default use server public IP, for device use |
| 107 | +JTT808_PORT=9011 |
| 108 | +JTT808_PORT_HTTP=9012 |
| 109 | +JTT808_PORT_FILE=9013 |
| 110 | +JTT808_PORT_FTP=9021 |
| 111 | +JTT808_PORT_FTP_ACTIVE=9022 |
| 112 | +JTT808_PORT_FTP_PASSIVE=9041-9049 |
| 113 | + |
| 114 | +## maintain |
| 115 | +MAINTAIN_HOST='maintain' |
| 116 | +MAINTAIN_PORT='8080' |
| 117 | + |
| 118 | +## MYSQL |
| 119 | +MYSQL_HOST='mysql8' |
| 120 | +MYSQL_PORT=3306 |
| 121 | +MYSQL_USERNAME='root' |
| 122 | +MYSQL_PASSWORD='' # Required |
| 123 | + |
| 124 | +## REDIS |
| 125 | +REDIS_HOST='redis' |
| 126 | +REDIS_PORT=6379 |
| 127 | +REDIS_PASSWORD='' # Required |
| 128 | + |
| 129 | +## MongoDB |
| 130 | +MONGODB_HOST='mongodb' |
| 131 | +MONGODB_PORT=27017 |
| 132 | +MONGODB_PORT_HTTP=15672 |
| 133 | +MONGODB_USERNAME='root' |
| 134 | +MONGODB_PASSWORD='' # Required |
| 135 | + |
| 136 | +## Rabbitmq |
| 137 | +RABBITMQ_HOST='rabbitmq' |
| 138 | +RABBITMQ_PORT=5672 |
| 139 | +RABBITMQ_USERNAME='admin' |
| 140 | +RABBITMQ_PASSWORD='' # Required |
| 141 | + |
| 142 | +## Minio |
| 143 | +MINIO_HOST='minio' |
| 144 | +MINIO_PORT=8000 |
| 145 | +MINIO_PORT_HTTP=8001 |
| 146 | +MINIO_USER=minioadmin |
| 147 | +MINIO_PASSWORD='' # Required |
| 148 | +# MINIO_ACCESSKEY/SECRETKEY, default uses account & password, creating a new set of KEYs in minio management background is also possible |
| 149 | +MINIO_ACCESSKEY=${MINIO_USER} |
| 150 | +MINIO_SECRETKEY=${MINIO_PASSWORD} |
| 151 | +# MINIO ftp feature |
| 152 | +MINIO_FTP_PORT=8021 |
| 153 | +MINIO_FTP_PASSIVE_PORT=8523-8529 |
| 154 | + |
| 155 | +## Email |
| 156 | +# Default uses transcodegroup email |
| 157 | +MAIL_HOST=smtp.transcodegroup.com |
| 158 | +MAIL_USERNAME=bus@transcodegroup.com |
| 159 | +# Required, need to create password in enterprise email |
| 160 | +MAIL_PASSWORD='' |
| 161 | + |
| 162 | +## ================================ Version, set to latest to use the latest version ================================ |
| 163 | + |
| 164 | +# bus, version check date: 2025-12-31 |
| 165 | +# bus frontend |
| 166 | +BUS_WEB_VERSION=5.33.0 |
| 167 | +# bus backend |
| 168 | +BUS_GATEWAY_VERSION=1.25.0 |
| 169 | +# bus 808-2019 version |
| 170 | +BUS_GATEWAY_808_2019_VERSION=25.8.25 |
| 171 | +# bus active safety version |
| 172 | +BUS_GATEWAY_JSATL12_VERSION=23.1.21 |
| 173 | + |
| 174 | +# track, version check date: 2026-1-21 |
| 175 | +# track frontend |
| 176 | +TRACK_WEB_VERSION=1.65.1 |
| 177 | +# track backend |
| 178 | +TRACK_MAINTAIN_VERSION=1.58.1 |
| 179 | +# track gateway |
| 180 | +TRACK_JTT808_VERSION=1.26.1 |
0 commit comments