Setting up your first node
Prerequisites
Before you begin, make sure your system meets these requirements:
A Linux server (Ubuntu 20.04 or later recommended)
Docker installed and running
Root or sudo access
Ports 8080 (daemon API) and whatever server ports you need open in your firewall
System Dependencies
Krypton requires the following dependencies:
Bun
1.2.12
or highercurl
git
Docker
Installing Dependencies
Install Bun:
Install Docker (if not already installed):
Daemon Installation
1. Clone the Repository
First, navigate to the /etc directory and clone the Krypton repository:
2. Install Dependencies
Install the required JavaScript/TypeScript dependencies:
3. Configure the Daemon
Run the configuration tool to set up your daemon:
This will prompt you for:
API key (used to authenticate with the daemon)
Bind address (usually 0.0.0.0 to accept connections from anywhere)
Bind port (default is 8080)
Volumes directory (where server data will be stored)
Panel URL (URL to your Argon panel)
CORS origin (for cross-origin requests)
Your configuration will be saved to config.yml
in the current directory.
4. Start the Daemon
Start the Krypton daemon:
You should see output indicating that the daemon has started successfully.
Setting Up as a System Service
For production environments, you'll want to run Krypton as a system service.
Create a Systemd Service
Create a systemd service file:
Add the following content:
Enable and start the service:
Check the service status:
Adding the Node to Your Argon Panel
Log in to your Argon panel as an administrator
Navigate to the Nodes section
Click "Create New Node"
Fill in the required information:
Name: A friendly name for your node
FQDN: The fully qualified domain name or IP address of your server
Port: The port you configured for the daemon (default: 8080)
Click "Create Node"
Once added, your node should show as "Online" in the panel. If it doesn't, check:
That the daemon is running (
systemctl status krypton
)That your firewall allows connections to the daemon port
That the API key in your panel matches the one in your daemon's config.yml
Adding Allocations
Allocations are the IP:Port combinations that can be assigned to servers.
In your Argon panel, navigate to the node you just created
Go to the "Allocations" tab
Click "Create New Allocation"
Enter:
Bind Address: Usually the server's primary IP
Port: A port to allocate (e.g., 25565 for Minecraft)
Click "Create"
You can also create a port range if you need multiple ports:
Click "Create Port Range"
Enter the bind address and port range (e.g., 25000-25100)
Click "Create"
Troubleshooting
Daemon Won't Start
If the daemon fails to start, check the logs:
Common issues include:
Docker not running
Port already in use
Permission issues with the volumes directory
Node Shows as Offline in Panel
If your node shows as offline:
Verify the daemon is running
Check that the FQDN and port are correct
Ensure your firewall allows connections
Verify the API key matches between panel and daemon
Container Creation Fails
If server creation fails:
Check the daemon logs
Ensure Docker has enough disk space
Verify the unit/image exists and is accessible
Network Considerations
Docker Networking
Krypton uses Docker's bridge networking. Each container gets a virtual interface in the 172.17.0.0/16
range by default.
Port Exposure
Game server ports are mapped from the host to the container. Make sure these ports are open in your firewall.
Notes for Windows and macOS
If you're testing Krypton on Windows or macOS with Docker Desktop, network connectivity may be limited due to the virtualization layer. For production use, Linux is strongly recommended.
What have we done?
You now have a working node with the Krypton daemon installed! You can now create servers through your Argon panel, which will be deployed and managed on this node.
Last updated
Was this helpful?