เว็บไซต์อ่านมังงะพร้อมระบบแปลมังงะด้วย AI
2
stars
782
commits
TypeScript
primary language
Aug 31, 2026
updated
MangaDock is split into 3 main parts:
The repository also includes Mobile/, a React Native WebView shell for the existing web app. It keeps the web UI as the main experience while handling Google/Facebook OAuth through the native auth session, which avoids WebView popup/login limitations.
The root of this repository contains a docker-compose.yml for running the Redis instance used by the backend.
| Service | Path | Default URL |
|---|---|---|
| Frontend | Frontend/ | http://localhost:4000 |
| Backend | Backend/ | http://localhost:4001 |
| MIT | MIT/ | http://localhost:5003 |
| Mobile | Mobile/ | Expo/Android development build |
| Redis | root docker-compose.yml | localhost:6379 |
From the root of the repository:
docker compose up -d
The compose file at root is for Redis only.
Go to the MIT/ folder.
The easiest way to run on Windows locally:
run-server.bat
MIT will open at http://localhost:5003
Verify with:
curl http://localhost:5003/health
For more details see MIT/README.md
Go to the Backend/ folder.
Install dependencies:
bun install
Create .env from template:
cp .env.example .env
Then fill in at least the following values:
# Gemini API (required for translation)
GEMINI_API_KEY=your-gemini-api-key
# Google Books API (required for book data)
GOOGLE_BOOKS_API_KEY=your-google-books-api-key
PORT=4001
FRONTEND_ORIGIN=http://localhost:4000
MANGA_TRANSLATOR_URL=http://localhost:5003
REDIS_HOST=localhost
REDIS_PORT=6379
# Supabase (Auth + Database) — see Supabase Dashboard → Project Settings → API
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
Run the backend:
bun run start:dev
For more details see Backend/README.md
Debug tip: when translations replay a stale result, run
npm run cache:resetinBackend/to wipe the translated-patch caches (Redis + L3 disk +uploads/patches), then restart the backend. See Backend/README.md.
Go to the Frontend/ folder.
Install dependencies:
bun install
Create .env from template:
cp .env.example .env
Set the backend URL:
NEXT_PUBLIC_API_BASE_URL=http://localhost:4001
Run the frontend:
bun run dev
Frontend runs at http://localhost:4000
For more details see Frontend/README.md
Go to the Mobile/ folder.
Install dependencies:
npm install
Create .env from template and point it at the running frontend:
cp .env.example .env
For Android emulator use:
EXPO_PUBLIC_WEB_URL=http://10.0.2.2:4000
For a physical device, use your LAN IP instead of localhost.
Run the Android development build:
npm run android
For OAuth, add mangadock://auth/callback to Supabase Auth redirect URLs. For more details see Mobile/README.md.
After starting all services, verify at minimum:
http://localhost:4000http://localhost:4001http://localhost:5003/healthlocalhost:6379SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY)mangadock://auth/callbackMangaDock เป็นระบบที่แยกออกเป็น 3 ส่วนหลัก:
Repository นี้มี Mobile/ เพิ่มเติม เป็น React Native WebView shell สำหรับหุ้ม web app เดิม โดยยังใช้ UI เว็บเป็นหลัก แต่ให้ Google/Facebook OAuth ทำงานผ่าน native auth session เพื่อเลี่ยงข้อจำกัด popup/login ใน WebView
ที่ root ของ repository นี้มี docker-compose.yml สำหรับรัน Redis ที่ backend ใช้งานเป็น cache
| Service | Path | URL เริ่มต้น |
|---|---|---|
| Frontend | Frontend/ | http://localhost:4000 |
| Backend | Backend/ | http://localhost:4001 |
| MIT | MIT/ | http://localhost:5003 |
| Mobile | Mobile/ | Expo/Android development build |
| Redis | root docker-compose.yml | localhost:6379 |
ที่ root ของ repository:
docker compose up -d
ไฟล์ compose ที่ root ใช้สำหรับ Redis เท่านั้น
เข้าโฟลเดอร์ MIT/
ถ้ารันบน Windows แบบ local ที่ง่ายที่สุด:
run-server.bat
MIT จะเปิดที่ http://localhost:5003
ตรวจสอบได้ด้วย:
curl http://localhost:5003/health
รายละเอียดเพิ่มเติมดู MIT/README.md
เข้าโฟลเดอร์ Backend/
ติดตั้ง dependencies:
bun install
สร้าง .env จาก template:
cp .env.example .env
แล้วกรอกค่าหลักอย่างน้อยดังนี้:
# Gemini API (required for translation)
GEMINI_API_KEY=your-gemini-api-key
# Google Books API (required for book data)
GOOGLE_BOOKS_API_KEY=your-google-books-api-key
PORT=4001
FRONTEND_ORIGIN=http://localhost:4000
MANGA_TRANSLATOR_URL=http://localhost:5003
REDIS_HOST=localhost
REDIS_PORT=6379
# Supabase (Auth + Database) — ดูจาก Supabase Dashboard → Project Settings → API
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
รัน backend:
bun run start:dev
รายละเอียดเพิ่มเติมดู Backend/README.md
Debug tip: ถ้าการแปล replay ผลเก่า ให้รัน
npm run cache:resetในBackend/เพื่อล้าง translated-patch cache (Redis + L3 disk +uploads/patches) แล้ว restart backend ดู Backend/README.md
เข้าโฟลเดอร์ Frontend/
ติดตั้ง dependencies:
bun install
สร้างไฟล์ .env จาก template:
cp .env.example .env
ตั้งค่า backend URL:
NEXT_PUBLIC_API_BASE_URL=http://localhost:4001
รัน frontend:
bun run dev
Frontend ของ repo นี้รันที่ http://localhost:4000
รายละเอียดเพิ่มเติมดู Frontend/README.md
เข้าโฟลเดอร์ Mobile/
ติดตั้ง dependencies:
npm install
สร้าง .env จาก template แล้วชี้ไปที่ frontend ที่กำลังรัน:
cp .env.example .env
สำหรับ Android emulator ใช้:
EXPO_PUBLIC_WEB_URL=http://10.0.2.2:4000
สำหรับเครื่องจริง ให้ใช้ LAN IP แทน localhost
รัน Android development build:
npm run android
สำหรับ OAuth ให้เพิ่ม mangadock://auth/callback ใน Supabase Auth redirect URLs รายละเอียดเพิ่มเติมดู Mobile/README.md
หลังจาก start ครบทุก service แล้ว ควรตรวจสอบขั้นต่ำดังนี้:
http://localhost:4000http://localhost:4001http://localhost:5003/healthlocalhost:6379SUPABASE_URL และ SUPABASE_SERVICE_ROLE_KEY)mangadock://auth/callbackTypeScript
52.8%
Python
42.2%
HTML
2.7%
เว็บไซต์อ่านมังงะพร้อมระบบแปลมังงะด้วย AI
2
stars
782
commits
TypeScript
primary language
Aug 31, 2026
updated
MangaDock is split into 3 main parts:
The repository also includes Mobile/, a React Native WebView shell for the existing web app. It keeps the web UI as the main experience while handling Google/Facebook OAuth through the native auth session, which avoids WebView popup/login limitations.
The root of this repository contains a docker-compose.yml for running the Redis instance used by the backend.
| Service | Path | Default URL |
|---|---|---|
| Frontend | Frontend/ | http://localhost:4000 |
| Backend | Backend/ | http://localhost:4001 |
| MIT | MIT/ | http://localhost:5003 |
| Mobile | Mobile/ | Expo/Android development build |
| Redis | root docker-compose.yml | localhost:6379 |
From the root of the repository:
docker compose up -d
The compose file at root is for Redis only.
Go to the MIT/ folder.
The easiest way to run on Windows locally:
run-server.bat
MIT will open at http://localhost:5003
Verify with:
curl http://localhost:5003/health
For more details see MIT/README.md
Go to the Backend/ folder.
Install dependencies:
bun install
Create .env from template:
cp .env.example .env
Then fill in at least the following values:
# Gemini API (required for translation)
GEMINI_API_KEY=your-gemini-api-key
# Google Books API (required for book data)
GOOGLE_BOOKS_API_KEY=your-google-books-api-key
PORT=4001
FRONTEND_ORIGIN=http://localhost:4000
MANGA_TRANSLATOR_URL=http://localhost:5003
REDIS_HOST=localhost
REDIS_PORT=6379
# Supabase (Auth + Database) — see Supabase Dashboard → Project Settings → API
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
Run the backend:
bun run start:dev
For more details see Backend/README.md
Debug tip: when translations replay a stale result, run
npm run cache:resetinBackend/to wipe the translated-patch caches (Redis + L3 disk +uploads/patches), then restart the backend. See Backend/README.md.
Go to the Frontend/ folder.
Install dependencies:
bun install
Create .env from template:
cp .env.example .env
Set the backend URL:
NEXT_PUBLIC_API_BASE_URL=http://localhost:4001
Run the frontend:
bun run dev
Frontend runs at http://localhost:4000
For more details see Frontend/README.md
Go to the Mobile/ folder.
Install dependencies:
npm install
Create .env from template and point it at the running frontend:
cp .env.example .env
For Android emulator use:
EXPO_PUBLIC_WEB_URL=http://10.0.2.2:4000
For a physical device, use your LAN IP instead of localhost.
Run the Android development build:
npm run android
For OAuth, add mangadock://auth/callback to Supabase Auth redirect URLs. For more details see Mobile/README.md.
After starting all services, verify at minimum:
http://localhost:4000http://localhost:4001http://localhost:5003/healthlocalhost:6379SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY)mangadock://auth/callbackMangaDock เป็นระบบที่แยกออกเป็น 3 ส่วนหลัก:
Repository นี้มี Mobile/ เพิ่มเติม เป็น React Native WebView shell สำหรับหุ้ม web app เดิม โดยยังใช้ UI เว็บเป็นหลัก แต่ให้ Google/Facebook OAuth ทำงานผ่าน native auth session เพื่อเลี่ยงข้อจำกัด popup/login ใน WebView
ที่ root ของ repository นี้มี docker-compose.yml สำหรับรัน Redis ที่ backend ใช้งานเป็น cache
| Service | Path | URL เริ่มต้น |
|---|---|---|
| Frontend | Frontend/ | http://localhost:4000 |
| Backend | Backend/ | http://localhost:4001 |
| MIT | MIT/ | http://localhost:5003 |
| Mobile | Mobile/ | Expo/Android development build |
| Redis | root docker-compose.yml | localhost:6379 |
ที่ root ของ repository:
docker compose up -d
ไฟล์ compose ที่ root ใช้สำหรับ Redis เท่านั้น
เข้าโฟลเดอร์ MIT/
ถ้ารันบน Windows แบบ local ที่ง่ายที่สุด:
run-server.bat
MIT จะเปิดที่ http://localhost:5003
ตรวจสอบได้ด้วย:
curl http://localhost:5003/health
รายละเอียดเพิ่มเติมดู MIT/README.md
เข้าโฟลเดอร์ Backend/
ติดตั้ง dependencies:
bun install
สร้าง .env จาก template:
cp .env.example .env
แล้วกรอกค่าหลักอย่างน้อยดังนี้:
# Gemini API (required for translation)
GEMINI_API_KEY=your-gemini-api-key
# Google Books API (required for book data)
GOOGLE_BOOKS_API_KEY=your-google-books-api-key
PORT=4001
FRONTEND_ORIGIN=http://localhost:4000
MANGA_TRANSLATOR_URL=http://localhost:5003
REDIS_HOST=localhost
REDIS_PORT=6379
# Supabase (Auth + Database) — ดูจาก Supabase Dashboard → Project Settings → API
SUPABASE_URL=https://your-project-ref.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
รัน backend:
bun run start:dev
รายละเอียดเพิ่มเติมดู Backend/README.md
Debug tip: ถ้าการแปล replay ผลเก่า ให้รัน
npm run cache:resetในBackend/เพื่อล้าง translated-patch cache (Redis + L3 disk +uploads/patches) แล้ว restart backend ดู Backend/README.md
เข้าโฟลเดอร์ Frontend/
ติดตั้ง dependencies:
bun install
สร้างไฟล์ .env จาก template:
cp .env.example .env
ตั้งค่า backend URL:
NEXT_PUBLIC_API_BASE_URL=http://localhost:4001
รัน frontend:
bun run dev
Frontend ของ repo นี้รันที่ http://localhost:4000
รายละเอียดเพิ่มเติมดู Frontend/README.md
เข้าโฟลเดอร์ Mobile/
ติดตั้ง dependencies:
npm install
สร้าง .env จาก template แล้วชี้ไปที่ frontend ที่กำลังรัน:
cp .env.example .env
สำหรับ Android emulator ใช้:
EXPO_PUBLIC_WEB_URL=http://10.0.2.2:4000
สำหรับเครื่องจริง ให้ใช้ LAN IP แทน localhost
รัน Android development build:
npm run android
สำหรับ OAuth ให้เพิ่ม mangadock://auth/callback ใน Supabase Auth redirect URLs รายละเอียดเพิ่มเติมดู Mobile/README.md
หลังจาก start ครบทุก service แล้ว ควรตรวจสอบขั้นต่ำดังนี้:
http://localhost:4000http://localhost:4001http://localhost:5003/healthlocalhost:6379SUPABASE_URL และ SUPABASE_SERVICE_ROLE_KEY)mangadock://auth/callbackTypeScript
52.8%
Python
42.2%
HTML
2.7%