- docker-compose.dev.yml: 新增 frpc 服务,通过 .env 环境变量配置 - deploy/frpc.Dockerfile: 基于 Alpine 构建,下载 frp 0.68.1 二进制 - deploy/frpc-entrypoint.sh: 由环境变量生成 frpc.toml 配置文件 - .env.example: 环境变量说明(占位值,不含真实凭证) - .gitignore: 忽略 .env 文件,防止敏感信息提交
36 lines
779 B
Bash
Executable File
36 lines
779 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# 由环境变量生成 frpc.toml 配置
|
|
mkdir -p /etc/frp
|
|
# FRP_CUSTOM_DOMAINS 格式:逗号分隔的域名,如 "domain1.com,domain2.com"
|
|
# 脚本自动加引号
|
|
_domains=""
|
|
IFS=","
|
|
for _d in ${FRP_CUSTOM_DOMAINS}; do
|
|
_d=$(echo "$_d" | xargs)
|
|
if [ -n "$_domains" ]; then
|
|
_domains="$_domains, "
|
|
fi
|
|
_domains="$_domains\"$_d\""
|
|
done
|
|
unset IFS
|
|
|
|
cat > /etc/frp/frpc.toml <<EOF
|
|
serverAddr = "${FRP_SERVER_ADDR}"
|
|
serverPort = ${FRP_SERVER_PORT:-7000}
|
|
|
|
auth.token = "${FRP_AUTH_TOKEN}"
|
|
|
|
[[proxies]]
|
|
name = "${FRP_PROXY_NAME:-qa-backend}"
|
|
type = "http"
|
|
localIP = "${FRP_LOCAL_IP:-backend}"
|
|
localPort = ${FRP_LOCAL_PORT:-8100}
|
|
customDomains = [${_domains}]
|
|
EOF
|
|
|
|
echo "=== frpc config generated ==="
|
|
cat /etc/frp/frpc.toml
|
|
|
|
exec frpc -c /etc/frp/frpc.toml |