ShadowNode is the server control plane for ShadowNode Panel. It's responsible for creating and managing server containers to provide a safe and secure environment for game servers to run without affecting other system services or users.
- Panel Documentation
- ShadowNode Documentation
- Community Guides
- Or, get additional help via Discord
Please use the shadownode/panel repository to report any issues or make feature requests for ShadowNode. In addition, the security policy listed there also applies to this repository.
To build ShadowNode, simply run the command below. This will generate a binary in the root directory that can be executed directly.
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -gcflags "all=-trimpath=$(pwd)" -o shadownode -v shadownode.goTo run ShadowNode, simply execute the binary with the --config flag pointing to the location of the configuration file.
sudo ./shadownode --config /etc/shadownode/config.ymlYou can run ShadowNode in debug mode by passing the --debug flag.
sudo ./shadownode --config /etc/shadownode/config.yml --debugA sample configuration file is provided below. Note that only a subset of the configuration options are shown here.
debug: false
uuid: ""
token_id: ""
token: ""
api:
host: 0.0.0.0
port: 8080
ssl:
enabled: false
cert: ""
key: ""
system:
sftp:
bind_port: 2022ShadowNode is designed to run in a containerized environment, and we provide an official Docker image for easy deployment.
docker run -d \
--name shadownode \
-p 8080:8080 \
-p 2022:2022 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/containers/:/var/lib/docker/containers/ \
-v /etc/shadownode/:/etc/shadownode/ \
-v /var/lib/shadownode/:/var/lib/shadownode/ \
-v /var/log/shadownode/:/var/log/shadownode/ \
-v /tmp/shadownode/:/tmp/shadownode/ \
ghcr.io/shadownode/shadownode:latestShadowNode is licensed under the MIT License.