Skip to main content
You can deploy the app to Vercel, or run it on your own server with Docker. If you want an AI coding assistant to do it for you, see Deploy with an AI agent.

Deploy to Vercel

1

Import the repository

Click the button below, or import cokice/japanese-analyzer in Vercel.

Deploy with Vercel

Create a new Vercel project from the GitHub repository.
2

Configure environment variables

In your project, open Settings → Environment Variables and add at least DEEPSEEK_API_KEY.Add GEMINI_API_KEY if you need Gemini models or Gemini TTS. Add CODE if you need an access password. For the full list, see Configuration.
3

Redeploy

Trigger a new deployment, then open the domain that Vercel assigns.
If you have installed and logged in to the Vercel CLI, you can also run vercel in the repository directory. Add variables with vercel env add, then run vercel --prod to publish.

Use Docker Compose

The official image howenhowen/japanese-analyzer supports linux/amd64 and linux/arm64. The container listens on port 3002.
1

Prepare a directory

If you have already cloned the repository, you can use its docker-compose.hub.yml directly.
2

Create the configuration file

Create .env.production and fill in at least one key:
.env.production
Restrict the file permissions so other users can’t read it:
3

Start the service

4

Verify

The deployment succeeded if the container status is running, the logs show no errors, and curl returns 200. Open http://<server-IP>:3002 to use the app.
The Compose file sets restart: unless-stopped, so the container starts automatically after the server reboots.
Set the DOCKER_IMAGE environment variable to use a different image tag, such as a version tag or a sha-<commit> tag. For the available tags, see Image tags.

Change the port

If port 3002 is already in use on the host, change the host port on the left side of ports. Keep the container port unchanged:

Build the image from source

The repository’s docker-compose.yml builds the image from the local Dockerfile:

Use docker run

If you need Umami, also add:
View the logs:

Update to the latest version

Set up a domain and HTTPS

Once the container is running, you can add a domain and HTTPS:
1

Point the domain

Point the domain’s A record to the server’s public IP. Open ports 80 and 443 in your cloud provider’s security group and the system firewall.
2

Check for an existing web server

If Nginx or Caddy is already installed, reuse it. Don’t install a second one.
3

Configure a reverse proxy

Caddy obtains and renews Let’s Encrypt certificates automatically. With Nginx, use certbot to obtain a certificate and redirect HTTP to HTTPS.
4

Verify

The setup is complete if the command returns a normal status code and the certificate is valid.
Set proxy_buffering off in Nginx so streaming output isn’t buffered and returned all at once.

Deploy your own modified version

The project is licensed under AGPL-3.0-only. If you modify the code and offer it as a service to others over a network, you must provide your users with the corresponding source code of your modified version. You must also point the GitHub source link in the interface to your actual version. For details, see License.