Project Deployment
System Requirements:
- Node.js 18.18 or later.
- Supported on macOS, Windows (including WSL), and Linux.
Local Deployment
Ensure you have installed Node.js.
# Installation (Install dependencies)
yarn
# Local Development
yarn dev
# Build and Start
yarn build && npx serve@latest out
# Deploy for a Single Language
yarn build:lang en
yarn build:lang zh
yarn build:lang zh-hant
Open http://localhost:3000 in your browser to view the result.
You can start editing the page by modifying src/app/[locale]/page.tsx. The page will auto-update as you edit the file.
Vercel Deployment
Click the button below to deploy Subtitle Translator to the Vercel platform with one click:

With Vercel, you can quickly host your project, and it automatically handles building and deployment—ideal for users without complex server configuration needs.
Cloudflare Pages Deployment
Click the button or link below to fork this project, then follow the steps to deploy it on Cloudflare Pages:
👉 Fork this project
Deployment steps:
- Log in to Cloudflare Pages
- Click "Create a project"
- Connect the GitHub repository you just forked
- Configure the build and deployment settings:
- Build command:
npm run build
- Build output directory:
out
- Environment variable: Add
NODE_VERSION with the value 22.14.0
- Click the deploy button to start building!
🎉 Once completed, you’ll be able to access your subtitle translator page!
Docker Deployment
If you prefer to run the application in a containerized environment, you can use the following methods to run Subtitle Translator via Docker:
# Pull and run from ghcr.io
docker run -d -p 3000:3000 --name subtitle-translator ghcr.io/rockbenben/subtitle-translator:latest
# Or pull and run from Docker Hub
docker run -d -p 3000:3000 --name subtitle-translator rockben/subtitle-translator:latest
Once running, you can access it at http://localhost:3000.
You can also deploy using a docker-compose.yml file:
services:
subtitle-translator:
image: ghcr.io/rockbenben/subtitle-translator:latest
container_name: subtitle-translator
ports:
- '3000:3000'
restart: unless-stopped
Run the command docker-compose up -d to start the service.