ci: add GitLab CI pipeline and Docker Compose for frontend deployment

Merged Nguyễn Ngọc Đại requested to merge feature/cicd into main

Introduce a GitLab CI/CD configuration that builds and pushes the Next.js frontend Docker image on commits to main, with a manual staging deployment stage using a local runner. Add a frontend-only docker-compose stack for staging with configurable port and image tag.

Merge request reports