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 | shWhen 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 shThe 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 shYou 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/readyzThen 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@serverCommon 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 wukongimCredentials 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.shThe 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-dockerThe 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.