Triển Khai
App
| App | Path | Domain |
|---|---|---|
| Marketing static site | static file ở repository root | mcv.network |
| Laravel control plane | apps/control-plane | app.mcv.network, ads.mcv.network |
| API gateway aliases | apps/control-plane | api.mcv.network |
| Affiliate public + tracking | apps/control-plane | affiliate.mcv.network, go.mcv.network, track.mcv.network |
| Docusaurus docs | apps/docs | docs.mcv.network |
Deploy Control Plane
Workflow:
.github/workflows/deploy-control-plane.yml
Deploy target:
/var/www/mcv.network/current/apps/control-plane
Production database:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=mcv_business_os
DB_USERNAME=mcv_business_os
SQLite is no longer the production datastore. Keep the last database.sqlite copy only as a rollback snapshot after migration.
Domain Routing
Các domain sau cùng trỏ về Laravel control plane public root:
/var/www/mcv.network/current/apps/control-plane/public
Server names:
app.mcv.network
ads.mcv.network
api.mcv.network
affiliate.mcv.network
go.mcv.network
track.mcv.network
Ý nghĩa:
app.mcv.network: portal đăng nhập, profile, tài chính, hợp đồng, billing, admin.ads.mcv.network: legacy alias, giữ để link cũ không lỗi trong giai đoạn đổi domain.api.mcv.network: webhook/API alias cho InfoCMS, Stripe, Zenify, MatchingVietnam và affiliate S2S.affiliate.mcv.network: public affiliate offer directory.go.mcv.network: redirect tracking ngắn.track.mcv.network: browser tag và S2S tracking.
Sau khi DNS A record đã trỏ về VPS, cấp SSL cho các domain Laravel:
certbot --nginx -d app.mcv.network -d ads.mcv.network -d api.mcv.network -d affiliate.mcv.network -d go.mcv.network -d track.mcv.network
Sau khi deploy source hoặc đổi .env, chạy:
php artisan optimize:clear
php artisan view:cache
systemctl reload php8.4-fpm
Recommended backup:
pg_dump -h 127.0.0.1 -U mcv_business_os -d mcv_business_os > mcv_business_os_$(date +%Y%m%d%H%M%S).sql
Deploy Docs
Workflow:
.github/workflows/deploy-docs.yml
Target deploy khuyến nghị:
/var/www/mcv.network/docs
Nginx root:
/var/www/mcv.network/docs