- 將 hospital_media_antmedia.md 分拆為 docs/ 下五份主題文件 (host.md, caddy.md, antmedia.md, ssl.md, maintenance.md) - 新增 README.md / QUICKSTART.md / SUMMARY.md 作為文件入口 - 新增 SOP:Caddy SSL 憑證更新流程 (docs/sop-update-caddy-ssl.md) 含 2026-04-16 實戰踩坑紀錄(.cer 副檔名、私鑰不匹配、sudo、防火牆 TLS 終端) - 更新各文件中 tel.tpech.gov.tw 憑證資訊:HiPKI → TWCA,到期 2026-10-30 - 新增 .gitignore 排除 ssl-staging/(含私鑰,不可進 git) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
119 lines
3.4 KiB
Markdown
119 lines
3.4 KiB
Markdown
# Quickstart 常用操作速查
|
||
|
||
本文件整理日常維護 `106.105.181.40` 最常用的指令。各主題完整說明請見 [docs/](docs/)。
|
||
|
||
## 登入與巡檢
|
||
|
||
```bash
|
||
# SSH 登入
|
||
ssh hospital_media
|
||
|
||
# 查看所有容器狀態
|
||
docker ps
|
||
|
||
# 查看特定容器日誌
|
||
docker logs -f antmedia
|
||
docker logs -f caddy
|
||
```
|
||
|
||
## Caddy(`/opt/caddy`)
|
||
|
||
```bash
|
||
cd /opt/caddy
|
||
|
||
./run.sh # docker-compose up -d
|
||
./stop.sh # docker-compose down
|
||
./restart.sh # stop + run
|
||
./shell.sh # 進入容器 sh
|
||
./list-containers.sh # docker-compose ps
|
||
./view-output-from-containers.sh # docker-compose logs -f
|
||
```
|
||
|
||
完整路由與 SSL 配置見 [docs/caddy.md](docs/caddy.md)。
|
||
|
||
## Ant Media Server(`/opt/antmediaserver`)
|
||
|
||
```bash
|
||
cd /opt/antmediaserver
|
||
|
||
./run.sh # 停舊容器 → 啟動新容器(掛載 antmedia_volume)
|
||
./stop.sh # docker stop antmedia
|
||
./shell.sh # 進入容器 bash
|
||
./build_antmedia_image.sh # 重新建構 Docker image
|
||
./backup_antmedia_data.sh # 備份 antmedia_volume 到當前目錄
|
||
./enable_ssl.sh <CERT_DIR> [DOMAIN] # 一鍵更新 SSL 憑證
|
||
```
|
||
|
||
完整部署細節見 [docs/antmedia.md](docs/antmedia.md)。
|
||
|
||
## SSL 憑證更新
|
||
|
||
### Caddy(`tel.tpech.gov.tw`)
|
||
|
||
```bash
|
||
# 1. 從本機把新憑證上傳
|
||
scp fullchain.pem privkey.pem hospital_media:/opt/caddy/
|
||
|
||
# 2. 重啟 Caddy(volume 會自動載入新憑證)
|
||
ssh hospital_media "cd /opt/caddy && ./restart.sh"
|
||
|
||
# 3. 驗證有效期
|
||
openssl s_client -connect tel.tpech.gov.tw:443 \
|
||
-servername tel.tpech.gov.tw </dev/null 2>/dev/null \
|
||
| openssl x509 -noout -dates
|
||
```
|
||
|
||
### Ant Media Server(`tel-server.tpech.gov.tw`)
|
||
|
||
把新憑證資料夾(含 `fullchain.pem` 與 `*.key`)放到 `/opt/antmediaserver/` 下後:
|
||
|
||
```bash
|
||
cd /opt/antmediaserver
|
||
./enable_ssl.sh ssl_tel_server_tpech_gov_tw_2026
|
||
# 若需指定網域:
|
||
./enable_ssl.sh ssl_tel_server_tpech_gov_tw_2026 tel-server.tpech.gov.tw
|
||
|
||
# 驗證
|
||
openssl s_client -connect tel-server.tpech.gov.tw:5443 \
|
||
-servername tel-server.tpech.gov.tw </dev/null 2>/dev/null \
|
||
| openssl x509 -noout -dates
|
||
```
|
||
|
||
DCV 驗證檔、手動操作、年度 checklist 詳見 [docs/ssl.md](docs/ssl.md)。
|
||
2026-10 這次 TWCA 換發的完整步驟見 [docs/sop-update-caddy-ssl.md](docs/sop-update-caddy-ssl.md)。
|
||
|
||
## 備份
|
||
|
||
```bash
|
||
# AMS 資料卷備份
|
||
cd /opt/antmediaserver && ./backup_antmedia_data.sh
|
||
# 產生 antmedia_backup_YYYYMMDD_HHMMSS.tar.gz 於當前目錄
|
||
```
|
||
|
||
更多備份資訊見 [docs/maintenance.md](docs/maintenance.md)。
|
||
|
||
## 緊急排查
|
||
|
||
| 現象 | 檢查步驟 |
|
||
|------|----------|
|
||
| 網站 502 | `docker ps` 看 `php` / `php-staging` 是否運行;`docker logs caddy` 看 upstream 錯誤 |
|
||
| AMS 無法串流 | `docker logs antmedia`;確認 port `1935/5443/50000-60000` 未被 firewall 擋 |
|
||
| HTTPS 憑證錯誤 | `openssl s_client` 檢查到期日;必要時重新 `./restart.sh` 或 `./enable_ssl.sh` |
|
||
| phpMyAdmin 進不去 | 確認 `10.200.251.40:1888` 可達(Caddy 用內網 IP 轉發) |
|
||
|
||
## 對外 Port 速查
|
||
|
||
| Port | 服務 |
|
||
|------|------|
|
||
| 80 / 443 | Caddy(HTTP/HTTPS) |
|
||
| 1443 | Caddy → php-staging |
|
||
| 8081 | Caddy 健康檢查 |
|
||
| 5080 / 5443 | AMS HTTP / HTTPS |
|
||
| 1935 / 8443 | AMS RTMP / RTMPS |
|
||
| 3478 | Coturn(TURN/STUN) |
|
||
| 50000-60000 | AMS WebRTC UDP |
|
||
| 1888 | phpMyAdmin(對外經 Caddy) |
|
||
| 3306 | MySQL |
|
||
|
||
完整 Port 與容器對應見 [docs/host.md](docs/host.md)。
|