Files
106_105_181_40/docs/antmedia.md
Timmy 394abb181e docs: 記錄 WebRTCAppEE REST API 白名單新增,補充容器掛載資訊
- antmedia.md / maintenance.md: 新增 `remoteAllowedCIDR` 白名單章節,
  記錄 2026-04-17 將 `172.17.0.3`、`172.17.0.4`(php / php-staging
  容器 bridge IP)加入 WebRTCAppEE,解決 PHP 呼叫錄影 REST API 回 403
  「Not allowed IP」問題;含修改 SOP、容器重建 IP 變動提醒。
- host.md: 容器一覽表加入「掛載目錄」欄位,明列 php / php-staging
  的網站根目錄掛載。
- caddy.md: `:1443` → php-staging 路由補註網站根目錄路徑。
2026-04-17 15:40:33 +08:00

4.0 KiB
Raw Permalink Blame History

Ant Media Server

  • 部署路徑:/opt/antmediaserver

服務狀態

項目
容器名稱 antmedia
Docker Image antmediaserver:2.13.2
安裝包 ant-media-server-enterprise-2.13.2-20250207_1708.zip
基礎映像 ubuntu:22.04
網路模式 --network host
時區 Asia/Taipei
重啟策略 --restart=always
資料 Volume antmedia_volume/usr/local/antmedia/

操作腳本(/opt/antmediaserver

./build_antmedia_image.sh    # 建構 Docker image
./run.sh                     # 停舊容器 → 啟動新容器(掛載 antmedia_volume
./stop.sh                    # docker stop antmedia
./shell.sh                   # docker exec -it antmedia bash
./enable_ssl.sh <CERT_DIR> [DOMAIN]   # 一鍵更新 SSL 憑證
./backup_antmedia_data.sh    # 備份 antmedia_volume 到當前目錄

build_antmedia_image.sh

docker build --network=host -t antmediaserver \
  --build-arg AntMediaServer=ant-media-server-enterprise-2.13.2-20250207_1708.zip .

run.sh

docker stop antmedia && docker rm antmedia
docker run -d --network host --privileged \
  --restart=always \
  -e TZ=Asia/Taipei \
  -v /etc/localtime:/etc/localtime:ro \
  --mount source=antmedia_volume,target=/usr/local/antmedia/ \
  --name antmedia antmediaserver:2.13.2

backup_antmedia_data.sh

docker run --rm \
  -v antmedia_volume:/data \
  -v "$(pwd)":/backup \
  busybox \
  sh -c "cd /data && tar czf /backup/antmedia_backup_$(date +%Y%m%d_%H%M%S).tar.gz ."

Web 應用

應用 路徑 說明
LiveApp /LiveApp 直播應用主要使用WebRTC 20fpsHLS 啟用
WebRTCAppEE /WebRTCAppEE WebRTC 企業版30fps目前無串流
root / AMS 管理後台Angular SPA
  • 轉碼設定720p (1.5Mbps) + 480p (1Mbps)
  • TURN/STUN 指向 106.105.181.40:3478(帳密為預設 testuser/testpassword,建議更換)
  • LiveApp 的 remoteAllowedCIDR 有格式錯誤:106.105.181.40.106.105.181.70,中間句點應為逗號

REST API 白名單(remoteAllowedCIDR

AMS 的 REST API/LiveApp/rest/.../WebRTCAppEE/rest/.../rest/...)會在 Tomcat 層檢查來源 IP不在白名單會回 HTTP 403 Not allowed IP

目前 WebRTCAppEE 白名單

127.0.0.1, 106.105.181.70, 106.105.181.40,
10.200.251.40, 10.200.251.70, 220.135.27.129,
172.17.0.3, 172.17.0.4

最後兩筆(172.17.0.3 / 172.17.0.4)是 phpphp-staging 容器在 docker0 bridge 上的 IP用於讓兩個 PHP 容器呼叫:

PUT http://tel-server.tpech.gov.tw:5080/WebRTCAppEE/rest/v2/broadcasts/{streamId}/recording/true?recordType=mp4

修改方式(不中斷串流

  1. 瀏覽器登入 https://tel-server.tpech.gov.tw:5443/
  2. WebRTCAppEE → Settings → Remote Allowed CIDR
  3. 編輯欄位(逗號分隔,別打成句點,否則整段會變非法 CIDR = deny all
  4. Save熱更新不中斷現有 broadcasting

注意事項

  • PHP 容器為 bridge networkIP 預設是 172.17.0.x。容器刪除後重建,IP 可能會重新分配
    • 驗證:docker inspect php php-staging --format '{{.Name}} {{json .NetworkSettings.Networks}}'
    • 若變動,更新白名單即可;或改用網段 172.17.0.0/16(代價:同網段所有容器都能打 REST API
  • red5-web.properties 中的 remoteAllowedCIDR 僅為啟動預設值;透過 UI/REST 改過後實際生效的是 mapdb 裡的 runtime 設定。

連接埠

協定 Port
HTTP 5080
HTTPS 5443
RTMP 1935
RTMPS 8443
TURN/STUN 3478
WebRTC UDP 50000-60000

注意事項

  • AMS 使用 Docker volumeantmedia_volume):容器刪除後資料仍保留,但刪除 volume 則遺失。
  • AMS 特權模式:容器以 --privileged 運行。

相關文件