Files
9router/DOCKER.md
nghionpoint d99f63cf36 Add Docker support and improve Dockerfile configuration
- Added `DOCKER.md` documentation to guide users on using Docker with the project.
- Migrated Dockerfile to use `oven/bun:1-alpine` for performance improvements.
- Refined build process and permissions in the container for better compatibility.
- Excluded `.idea/` files in `.gitignore`.
- Enhanced `.npmignore` to clean redundant blank lines.
2026-04-09 14:21:30 +07:00

1.1 KiB

Docker

This project ships with a Dockerfile for building and running 9Router in a container.

Build image

docker build -t 9router .

Start container

docker run --rm \
  -p 20128:20128 \
  -v "$HOME/.9router:/app/data" \
  --name 9router \
  9router

The app listens on port 20128 in the container.

What the volume does

-v "$HOME/.9router:/app/data"

This keeps your data outside the container so it survives restarts and image rebuilds.

Stop container

docker stop 9router

Run in background

docker run -d \
  -p 20128:20128 \
  -v "$HOME/.9router:/app/data" \
  --name 9router \
  9router

View logs

docker logs -f 9router

Optional environment variables

You can override runtime env vars with -e.

Example:

docker run --rm \
  -p 20128:20128 \
  -v "$HOME/.9router:/app/data" \
  -e PORT=20128 \
  -e HOSTNAME=0.0.0.0 \
  -e DEBUG=true \
  --name 9router \
  9router

Rebuild after code changes

docker build -t 9router .

Then restart the container.