Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.46 KB

File metadata and controls

71 lines (52 loc) · 2.46 KB

Personal Infrastructure Stacks

Kho lưu trữ cá nhân chứa các Docker Compose Stack được thiết kế theo mô hình độc lập (self-contained). Mỗi dịch vụ nằm trong một thư mục stack riêng biệt, tự quản lý cấu hình, dữ liệu, backup và khôi phục (restore) mà không phụ thuộc chéo hay phụ thuộc vào thư mục cha.

Cấu trúc dự án

.
├── jenkins-stack/       # Stack chạy Jenkins Server
├── postgres-stack/      # Stack chạy hệ quản trị CSDL PostgreSQL
├── mongodb-stack/       # Stack chạy CSDL MongoDB
├── redis-stack/         # Stack chạy Redis (caching & key-value DB)
├── nginx-stack/         # Stack chạy Nginx làm Web Server / Reverse Proxy
├── portainer-stack/     # Stack chạy Portainer CE (Docker Management)
└── README.md            # Tài liệu hướng dẫn này

Thiết kế chung cho mỗi Stack

Mỗi thư mục stack tuân thủ cấu trúc chuẩn hóa sau:

<service>-stack/
├── docker-compose.yml   # Cấu hình container chạy dịch vụ
├── .env.example         # Định nghĩa các biến môi trường mẫu
├── data/                # Thư mục lưu dữ liệu thực tế (bị Gitignore)
├── backups/             # Thư mục chứa các bản sao lưu (bị Gitignore)
├── config/              # Thư mục cấu hình (nếu dịch vụ yêu cầu)
├── scripts/
│   ├── backup.sh        # Script thực hiện sao lưu tự động
│   └── restore.sh       # Script khôi phục dữ liệu từ bản sao lưu gần nhất
├── .gitignore           # Bỏ qua data/, backups/ và tệp .env
└── README.md            # Hướng dẫn chạy và sử dụng cho riêng stack này

Hướng dẫn sử dụng nhanh

Để triển khai bất kỳ stack nào, hãy di chuyển vào thư mục stack tương ứng và thực hiện các bước sau:

  1. Chuẩn bị biến môi trường:

    cp .env.example .env

    Chỉnh sửa các tham số trong tệp .env vừa tạo cho phù hợp với nhu cầu của bạn (mật khẩu, cổng, v.v.).

  2. Khởi chạy Stack:

    docker compose up -d
  3. Dừng Stack:

    docker compose down
  4. Sao lưu dữ liệu:

    ./scripts/backup.sh
  5. Khôi phục dữ liệu:

    ./scripts/restore.sh