Bạn đã từng di dời một hệ thống Supabase phức tạp, và giờ là lúc đối mặt với thử thách tiếp theo: Metabase. Nếu như Supabase lưu dữ liệu rõ ràng trong các folder bind-mount, thì Metabase mặc định lại thường giấu dữ liệu kỹ càng trong các Docker Volumes vô hình. Điều này khiến việc backup hay di chuyển sang VPS mới trở nên “khó nhằn” hơn với những người không chuyên.
Trong bài viết này, chúng ta sẽ cùng giải quyết bài toán: Làm sao để “bứng” toàn bộ dữ liệu Metabase (Biểu đồ, Dashboard, Users) từ một Docker Volume ẩn sâu trong VPS cũ, sang một VPS mới tinh, và đặc biệt là chuyển nó thành dạng Folder (Bind Mount) để dễ dàng quản lý mãi mãi về sau.
Vấn Đề: Dữ Liệu “Vô Hình” (Docker Volumes)
Khi bạn cài Metabase bằng lệnh docker run hoặc các file compose mẫu trên mạng, dữ liệu thường được lưu trong Docker Volume (Managed Volume). Bạn sẽ không thấy nó khi ls /opt hay ls /home. Nó nằm sâu trong /var/lib/docker/volumes/....

Điều này gây khó khăn khi bạn muốn backup (phải dùng lệnh backup volume chuyên biệt) hoặc khi muốn sửa config trực tiếp. Chiến thuật của chúng ta hôm nay là: Giải phóng dữ liệu.
Bước 1: “Thám Tử” Docker – Tìm Dữ Liệu & Mật Khẩu
Trước khi di dời, bạn phải biết dữ liệu đang nằm ở đâu và chìa khóa (mật khẩu) để mở nó là gì. Rất nhiều trường hợp di dời xong nhưng quên mật khẩu database cũ, dẫn đến Metabase mới không thể đọc được dữ liệu.
Tại VPS Cũ, hãy dùng lệnh docker inspect để soi thông tin:

# 1. Tìm mật khẩu Database (Quan trọng nhất!)
docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' metabase_container_name | grep MB_DB_PASS
# 2. Xác định chính xác đường dẫn Volume
docker inspect -f '{{ json .Mounts }}' metabase_db_container_nameHãy ghi lại chuỗi mật khẩu (ví dụ: ExAmPlE_P@ssw0rd...) và đường dẫn source volume (ví dụ: /var/lib/docker/volumes/metabase_data/_data). Chúng ta sẽ cần chúng ở bước sau.
Bước 2: Rsync – Cuộc Di Cư Của Dữ Liệu
Sau khi đã xác định được “địa chỉ nhà” của dữ liệu trên VPS cũ, chúng ta sẽ dùng rsync để bắn thẳng nó sang VPS mới. Tại VPS mới, chúng ta sẽ tạo một folder đàng hoàng để đón nhận nó.
Trên VPS Mới:
mkdir -p /opt/metabase/pgdataTrên VPS Cũ (Chạy lệnh rsync):
# Lưu ý đường dẫn nguồn lấy từ bước 1
# IP_VPS_MOI: Thay bằng IP server mới
rsync -avzP /var/lib/docker/volumes/metabase_data/_data/ root@IP_VPS_MOI:/opt/metabase/pgdata/Lúc này, toàn bộ dữ liệu quý giá của bạn đã nằm an toàn trong thư mục /opt/metabase/pgdata trên server mới. Nó đã trở thành các file vật lý mà bạn có thể nhìn thấy, copy và backup dễ dàng!
Bước 3: Dựng Nhà Mới (Docker Compose Clean Setup)
Thay vì tái sử dụng cấu hình cũ rắm rối, chúng ta sẽ viết một file docker-compose.yml mới, sạch đẹp và chuẩn chỉ hơn. File này sẽ kết nối Metabase Application với dữ liệu Database chúng ta vừa mang sang.

Tạo file /opt/metabase/docker-compose.yml với nội dung sau (Nhớ thay PASSWORD bằng pass bạn tìm được ở Bước 1):
version: '3.9'
services:
metabase:
image: metabase/metabase:latest
container_name: metabase
restart: unless-stopped
ports:
- "3000:3000"
environment:
MB_DB_TYPE: postgres
MB_DB_DBNAME: metabase
MB_DB_PORT: 5432
MB_DB_USER: metabase
MB_DB_PASS: YOUR_SECRET_PASSWORD_HERE
MB_DB_HOST: metabase-db
depends_on:
- metabase-db
metabase-db:
image: postgres:15
container_name: metabase-db
restart: unless-stopped
environment:
POSTGRES_USER: metabase
POSTGRES_DB: metabase
POSTGRES_PASSWORD: YOUR_SECRET_PASSWORD_HERE
volumes:
# KẾT NỐI QUAN TRỌNG NHẤT:
# Mount folder dữ liệu vừa rsync vào trong database
- ./pgdata:/var/lib/postgresql/dataSau đó khởi chạy:
docker compose up -dBước 4: Cấu Hình Domain & SSL
Sử dụng Nginx Proxy Manager (mà bạn đã cài ở bài hướng dẫn trước) để public Metabase ra internet một cách an toàn.
- Domain:
data.your-domain.com - Forward IP:
172.17.0.1 - Forward Port:
3000 - SSL: Let’s Encrypt (Force SSL)

Kết Luận
Việc chuyển đổi từ Docker Managed Volume sang Bind Mount (Folder) không chỉ giúp bạn migrate thành công mà còn là một bước nâng cấp lớn cho việc quản trị hệ thống. Từ nay về sau, việc backup dữ liệu Metabase chỉ đơn giản là copy folder /opt/metabase/pgdata.
Chúc bạn có một hệ thống Business Intelligence mạnh mẽ và ổn định trên nhà mới!

