WuKongIM Docs

Docker

Start a WuKongIM single-node cluster with random credentials and persistent storage in one command.

You only need Docker and curl. The installer generates random credentials, creates persistent storage, starts the image for the latest GitHub tag, and waits for the node to become ready.

The default is for a quick local evaluation

With no version specified, the installer queries the latest GitHub tag in the WuKongIM repository on every run. When you select an older release, its runtime identity, base image, and health-check capabilities follow that release. The installer does not configure a domain, TLS, backups, or multi-node replication. Complete the Production Checklist before serving production traffic.

1. Start with one command

curl -fsSL https://docs.githubim.com/install/docker.sh | sh

When installation finishes, the terminal prints the Manager URL, username, and random password. Deployment files are stored in wukongim-docker/ under the current directory, while message data is stored in the wukongim-data Docker volume.

Use WK_VERSION to select a release, for example:

curl -fsSL https://docs.githubim.com/install/docker.sh | env WK_VERSION=3.0.0-beta.5 sh

The version must have a corresponding GHCR image. The installer resolves the selected image to an immutable digest before starting it. It fails instead of falling back to an older version when GitHub cannot be queried, the tag is invalid, or the image does not exist. If the existing container uses another version, the installer refuses to overwrite it and preserves the data volume. Check Upgrades and Migration for compatibility before removing the old container and running the installer again.

If clients connect from another machine, provide a reachable hostname or IP in the same command:

curl -fsSL https://docs.githubim.com/install/docker.sh | env WK_PUBLIC_HOST=im.example.com sh

You can combine both options: env WK_VERSION=3.0.0-beta.5 WK_PUBLIC_HOST=im.example.com sh.

2. Sign in and verify

Open http://127.0.0.1:5301 and sign in with admin and the random password printed by the installer. Confirm that the node is ready:

curl --fail http://127.0.0.1:5001/readyz

Then follow Quick Start with two test users and complete one send-and-receive cycle.

How do I open Manager from my computer after deploying on a server?

Manager and the Product API bind only to server loopback by default. Create an SSH tunnel, then open the same Manager URL on your computer:

ssh -N \
  -L 5001:127.0.0.1:5001 \
  -L 5301:127.0.0.1:5301 \
  user@server
Common operations
# Inspect status and logs
docker ps --filter name=wukongim
docker logs --follow --tail 100 wukongim

# Restart or stop
docker restart wukongim
docker stop wukongim

# Start again
docker start wukongim

Credentials are stored in wukongim-docker/.env with mode 0600. Removing the container does not remove wukongim-data; do not delete that volume unless its data is no longer needed.

Review the installer before running it
curl -fsSLO https://docs.githubim.com/install/docker.sh
less docker.sh
sh docker.sh

The installer pins an image digest, never uses latest, and does not overwrite an existing deployment environment file.

Remove the evaluation deployment completely

Confirm that the data is no longer needed, then run:

docker rm --force wukongim
docker volume rm wukongim-data
rm -r wukongim-docker

The last two commands permanently remove message data and installation credentials.

A production deployment also needs real TCP/TLS and WSS endpoints, restricted access to ports 5001 and 5301, plus backup and rollback procedures. Continue to Multi-node Cluster when you need replication and failure recovery.

On this page