iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기✨ Next.js PostgreSQL Valkey 🏃 Run fast 🚀
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Vietnamese movie streaming, done fast 🚀 — browse, search, and watch at phim.bluesia.net.
• 🔍 Browse & search a canonical VN catalog merged by the Blueflare backend
• 📱 Stream via device-aware embeds or native HLS — mobile-first, always
• ⭐ Remember favorites & watch history right in localStorage
• ⚡ Server-rendered on our own VPS, Cloudflare just does TLS/CDN duty
Next.js 16 App Router, self-hosted — no Astro, no Workers, no edge magic. Runs in the frontend Docker service on 127.0.0.1:3100, Caddy proxies it to the world.README 전문 보기 ↗Vietnamese movie streaming, done fast 🚀 — browse, search, and watch at phim.bluesia.net.
localStorageNext.js 16 App Router, self-hosted — no Astro, no Workers, no edge magic. Runs in the frontend Docker service on 127.0.0.1:3100, Caddy proxies it to the world.
Same repo, same house: backend/ owns provider sync, PostgreSQL, Valkey caching, and the image cache at img.bluesia.net. Server Components talk to the API over the Docker network; browsers own playback + local state.
| What | How |
|---|---|
| 🖥️ Pages | Next.js 16 App Router + React Server Components |
| ⚛️ Interactivity | React 19, client components only where needed |
| 🎨 Styling | Tailwind CSS 4 |
| 🐳 Runtime | Node 26 standalone container |
| 🌐 Edge | Caddy + Cloudflare (plain proxy/CDN, no Worker) |
| 🎞️ Catalog/images | Blueflare API + img.bluesia.net |
| 📡 Providers | NguonC primary, KKPhim fills the gaps |
| 🗄️ Data/cache | PostgreSQL + Valkey + Next render cache |
| 🖼️ Images | Two variants only: /i/m/ portrait, /i/d/ landscape |
| 💾 Backup | Optional nightly dump to R2 (any S3-compatible store), on when BACKUP_ENABLED=true |
| ▶️ Video | hls.js light (lazy) + provider embeds |
cd frontend
npm install
npm run dev # http://localhost:3000
npm run build # production build (in frontend/)
npm run start # serve the standalone build
Want the full stack? 🐳
cp backend/.env.example /opt/stacks/blueflare/.env # rồi điền secret
cd /opt/stacks/blueflare && docker compose up -d --build
Codebase và runtime nằm ở hai chỗ (xem mục "Runtime/codebase split" trong backend/README.md):
| Đường dẫn | Nội dung | |
|---|---|---|
| Codebase | /home/ubuntu/blueflare | repo này — nguồn duy nhất của mọi thứ trong git |
| Runtime | /opt/stacks/blueflare | compose.yml, .env, deploy/, data/images/ (path để dockhand quét thấy) |
Một VPS trắng (Ubuntu 24.04/26.04) dựng bằng một lệnh — cài Docker + Caddy, clone
codebase qua SSH, dựng thư mục runtime, sinh .env với secret ngẫu nhiên, đặt Caddy
edge cho phim/img. Script không tự deploy container để bạn xem lại .env
(nhất là TMDB_API_KEY) rồi bấm deploy trong dockhand:
git clone [email protected]:O365ServeronMS/blueflare.git /home/ubuntu/blueflare
/home/ubuntu/blueflare/infra/scripts/bootstrap-vps.sh # thêm --deploy để build+up luôn
Mặc định script đặt runtime ở /opt/stacks/blueflare (để dockhand quét thấy) và bật
SYNC_ENABLED=true, BACKFILL_ENABLED=false — bạn bật backfill sau bằng cách sửa
.env qua dockhand rồi redeploy. Đổi path bằng biến STACK_DIR=… khi chạy script.
Compose build thẳng từ codebase qua BLUEFLARE_SRC (mặc định /home/ubuntu/blueflare),
nên deploy code mới là hai bước:
git pull
cd /opt/stacks/blueflare && docker compose up -d --build frontend
curl -fsS http://127.0.0.1:3100/healthz
Nếu sửa compose.yml hay script trong infra/, bản chuẩn nằm trong repo — đồng bộ sang
stack rồi mới áp dụng:
/home/ubuntu/blueflare/infra/scripts/sync-stack.sh --dry-run # xem trước
/home/ubuntu/blueflare/infra/scripts/sync-stack.sh
Đổi cấu hình mà không rebuild: cd /opt/stacks/blueflare && ./deploy/apply-env.sh
(script validate .env theo .env.example rồi tạo lại container từ image sẵn có).
⚠️ Đừng bao giờ chạy docker compose down -v — cờ -v xóa named volume, tức là mất
toàn bộ Postgres. Backup: ./deploy/backup-postgres.sh.
Caddy: bootstrap-vps.sh tự chèn hai khối phim.bluesia.net/img.bluesia.net vào
/etc/caddy/Caddyfile (idempotent, có marker) rồi caddy fmt/validate/reload — không
cần reload tay lần đầu. Chỉ khi sửa một Caddyfile đã triển khai (script bỏ qua khối đã có)
mới phải sửa tay rồi reload, xem backend/README.md. ✅
frontend/ # Next.js app: src/app, components, lib, public, Dockerfile
backend/ # VPS origin: API, worker, migrations, tests, Dockerfile
infra/ # compose.yml, scripts/ (bootstrap, sync), cloudflare/, backup/
scripts/ # deploy, rollback, verify
🧭 Category context rides in returnTo=<encoded path+search> — page 2/3/etc. stays addressable and reload-safe.
(cd frontend && npm run build) # frontend build
(cd frontend && npm test) # vitest
cd backend && node --test # backend suite