From 5619fbe4cbb698a978a2a96a91b7b33b3948a562 Mon Sep 17 00:00:00 2001 From: Timmy Date: Mon, 22 Jun 2026 22:07:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20CT124=20Redash=20=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=89=8B=E5=86=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 6 容器架構、操作、create_db;重點提醒 DB 在匿名 volume 的備份風險與 pg_dump 解法。 Co-Authored-By: Claude Opus 4.8 (1M context) --- CT124_Redash操作手冊_20260622.md | 52 ++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 53 insertions(+) create mode 100644 CT124_Redash操作手冊_20260622.md diff --git a/CT124_Redash操作手冊_20260622.md b/CT124_Redash操作手冊_20260622.md new file mode 100644 index 0000000..9f669b6 --- /dev/null +++ b/CT124_Redash操作手冊_20260622.md @@ -0,0 +1,52 @@ +# CT124 Redash(自架 SQL 查詢/儀表板)— 操作手冊 + +> 主機:CT124(192.168.42.124,Ubuntu 24.04 LXC) | 位置:`/opt/redash` +> 用途:連各種資料庫,寫 SQL → 視覺化 / 儀表板 / 排程 / 告警 + +--- + +## 一、基本資訊 + +- 版本:**Redash 10.1.0**(`redash/redash:10.1.0.b50633`,官方正式版 image) +- 設定檔:**`compose.yaml`**(非 `docker-compose.yml`)+ `.env`(放 `REDASH_SECRET_KEY` / `REDASH_COOKIE_SECRET`) +- `/opt/redash` 是整包 Redash 原始碼 checkout,但跑的是官方 image,不自行編譯。 +- 對外:**僅 LAN**(`redash.lotimmy.com`、`redash.timmy.edu.kg` 皆不解析,`REDASH_HOST=http://localhost:5001`) + +## 二、容器(6 個) + +| 容器 | image | 角色 | Port | +|---|---|---|---| +| `redash-server-1` | redash 10.1.0 | Web/API | `5001 → 5000` | +| `redash-worker-1` | redash 10.1.0 | 查詢/排程執行 worker | — | +| `redash-scheduler-1` | redash 10.1.0 | 排程器 | — | +| `redash-postgres-1` | postgres:15-alpine | metadata DB(`trust` 認證,內網) | — | +| `redash-redis-1` | redis:7-alpine | queue / cache | — | +| `redash-email-1` | maildev | 攔截外送信件(告警測試用) | `1025`(SMTP) / `1080`(Web) | + +## 三、存取 + +- Web:`http://192.168.42.124:5001` +- 寄信測試/告警信箱(maildev UI):`http://192.168.42.124:1080` + +## 四、操作 + +```bash +cd /opt/redash +docker compose up -d +docker compose ps +docker compose logs -f server +docker compose restart + +# 首次 / 重建 DB schema(myfile.txt 記的就是這條) +docker compose run --rm server create_db +``` + +## 五、注意事項 + +- **⚠️ Postgres 資料在「匿名」Docker volume**(`/var/lib/docker/volumes//_data`),**不在 `/opt/redash`**,`compose.yaml` 也沒宣告 named volume。風險: + - `docker compose down -v` 會**整個刪掉** → 資料全失。 + - 備份 `/opt/redash` 目錄**抓不到 DB**。 + - 備份正解:`docker exec redash-postgres-1 pg_dump -U postgres postgres > redash-$(date +%F).sql`。 + - 想長治久安:在 compose 的 `postgres` 加 `volumes: [./pgdata:/var/lib/postgresql/data]`,遷移後改用具名/綁定卷。 +- Postgres 用 `POSTGRES_HOST_AUTH_METHOD=trust`(無密碼),但**未對外開 port**,僅 docker 內網,風險可控。 +- 殘留檔:`compose.yaml_BACKUP_20260205160912`、`myfile.txt` 為安裝時的暫存,可留可刪。 diff --git a/README.md b/README.md index bb3adbf..bc8d38c 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,4 @@ Claude Code 工作規範見 [`CLAUDE.md`](CLAUDE.md)。 | [CT124_Gitea操作手冊_20260622.md](CT124_Gitea操作手冊_20260622.md) | CT124 | 自架 Gitea(`:31337` Web / `:31338` SSH,本 repo 的家)操作、clone、備份、設定 | | [CT124_PocketBase操作手冊_20260622.md](CT124_PocketBase操作手冊_20260622.md) | CT124 | 自架 PocketBase(systemd,`:18090` / `pb.lotimmy.com`)服務操作、collections、升級、備份 | | [CT124_NocoDB操作手冊_20260622.md](CT124_NocoDB操作手冊_20260622.md) | CT124 | 自架 NocoDB(`:28080` / `noco.timmy.edu.kg`)操作、API、備份;附 DB 對外與弱帳密提醒 | +| [CT124_Redash操作手冊_20260622.md](CT124_Redash操作手冊_20260622.md) | CT124 | 自架 Redash 10.1.0(6 容器,`:5001`,僅 LAN)操作;附 DB 在匿名 volume 的備份風險 |