Subtitle Translator Deployment

System Requirements

  • Node.js 20.9 or later
  • Supports macOS, Windows (including WSL), and Linux

Local Deployment

Ensure you have Node.js installed.

# 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 see 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 Vercel with one click:

Vercel

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:

  1. Log in to Cloudflare Pages
  2. Click "Create a project"
  3. Connect the GitHub repository you just forked
  4. 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
  5. 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.