1. Marketing
Tool
  • Check
    • Admin + API + Tool
      • Tài liệu triển khai dự án Check
    • Search
      • Tài liệu triển khai dịch vụ Search cho dự án Check
    • Proxy
      • Tài liệu triển khai dịch vụ Proxy cho dự án Check
  • Traffic
    • Tài liệu triển khai dự án Traffic
  • OnePush
    • Tài liệu triển khai dự án OnePush
  • Landing-Pages
    • Tài liệu triển khai dự án Landing-Page
  • Marketing
    • Tài liệu triển khai dự án Marketing
  1. Marketing

Tài liệu triển khai dự án Marketing

Tài Liệu Triển Khai Dự Án Marketing — Laravel trên Docker#

Docker  Laravel  Nginx

Triển Khai Dự Án Marketing Production với Docker

🔥 Tổng Quan#

Tài liệu này mô tả quy trình build và triển khai dự án Marketing chạy trên Docker trong môi trường production. Dự án Marketing bao gồm một dịch vụ:
Dịch VụCông NghệRuntimeMục Đích
ToolLaravel (PHP)PHP-FPM + NginxCông cụ tự động hoá marketing

Hạ Tầng Chính#

Thành PhầnDịch Vụ AWSMục Đích
Container ImagesAWS ECRRegistry Docker image riêng tư
Cơ sở dữ liệuAWS RDSMySQL cho Laravel
CacheElastiCacheRedis cho session, queue, cache driver

🛠️ Dịch Vụ Tool#

Tech Stack#

Framework: Laravel (PHP)
Xây dựng: Multi-stage — Composer install → npm install → npm build
Runtime: PHP-FPM + Nginx (nhiều container)
ECR: tools/marketing-tool-prod
Source: Git submodule tại tool/build/source/

Cấu Trúc Dự Án#

Marketing/tool/
├─ build/
│  ├─ Dockerfile-base.production                # Base image: FPM + Nginx + CLI
│  ├─ Dockerfile-production                     # Production: multi-stage Laravel build
│  ├─ source/                                   # ⚡ Git submodule — Laravel source
│  │  ├─ composer.json / package.json
│  │  ├─ artisan
│  │  └─ ...
│  ├─ conf/
│  │  ├─ nginx/template/default.conf.template
│  │  └─ supervisor/marketing-tool.conf
│  └─ data/php/
│     ├─ php.ini
│     └─ php-fpm.conf
├─ database/
└─ docker-compose.yml.production

Xây dựng Pipeline#

┌──────────────────────────────────────────────────────────────────────────┐
│                        MULTI-STAGE BUILD PIPELINE                        │
│                                                                          │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                   │
│  │ GIAI ĐOẠN 1 │    │ GIAI ĐOẠN 2 │    │ GIAI ĐOẠN 3 │                   │
│  │   vendor    │───▶│  node_base  │───▶│    build    │                   │
│  │ • composer  │    │ • npm       │    │ • npm run   │                   │
│  │   install   │    │   install   │    │   build     │                   │
│  └─────────────┘    └─────────────┘    └──────┬──────┘                   │
│                    ┌──────────────────────┬────┴───────────────┐         │
│                    ▼                      ▼                    ▼         │
│             ┌─────────────┐       ┌─────────────┐      ┌─────────────┐   │
│             │    cli      │       │ fpm_server  │      │ web_server  │   │
│             │ • Artisan   │       │ • PHP-FPM   │      │ • Nginx     │   │
│             │ • Queues    │       │ • Supervisor│      │ • Static    │   │
│             └─────────────┘       └─────────────┘      └─────────────┘   │
└──────────────────────────────────────────────────────────────────────────┘

Cấu Hình Laravel (build/source/.env)#

Xây dựng & Triển Khai#


🛡️ Các Thực Hành Bảo Mật#

1.
.env không bao giờ nhúng vào image — mount read-only khi runtime
2.
Container non-root — chạy dưới user không đặc quyền (UID: 1200)
3.
Supervisor quản lý — PHP-FPM với auto-restart

📚 Tài Liệu Liên Quan#

Tài liệu Docker
Triển khai Laravel
Hướng dẫn AWS ECR
Modified at 2026-03-21 09:04:54
Previous
Tài liệu triển khai dự án Landing-Page
Built with