Connect your Discord server to Sahir Venn through the web setup portal. Most of it is done through the browser — one step (Step 5, if the Discord adapter isn't already enabled on your console) requires SSH access and a quick .env edit.
You need:
Open this URL in your browser:
https://mentat-link.darkdante.org/setup
You will see a dark-themed page with a "Sign In with Discord" button.
You will be redirected back to the setup portal, now showing a configuration form with your Discord username at the top.
The form shows a "Discord Server" dropdown. It lists servers you own or have the Administrator permission in (if you have neither in any server, it falls back to listing every server you're a member of).
This field is labeled "Console URL". It needs the web address of your Dune Docker Console's WebUI.
localhost or 127.0.0.1192.168.x.x or 10.x.x.x| Where your console runs | What to enter |
|---|---|
| Public VPS / dedicated server | http://your-server-ip:8088 |
| Domain with DNS pointing to it | https://dune.yourdomain.com |
| Your home PC (use a tunnel) | See below |
If your console runs on your home PC: You need to expose it to the internet with a tunnel. The easiest free option is Cloudflare Tunnel:
cloudflared tunnel --url http://localhost:8088
This prints a URL like https://abc123.trycloudflare.com. Copy that URL and paste it into the Console URL field. Keep the tunnel running while the bot is active.
This field is labeled "Adapter Token". It authenticates the bot with your Dune console so it can query server status, player data, etc.
You have two options:
If you already enabled the Discord adapter on your Dune console:
cat /repo/runtime/secrets/discord-adapter-token.txt
If you haven't set up the adapter yet, or want a fresh token:
.env file and add (or update) these lines:
DUNE_DISCORD_ADAPTER_ENABLED=true
DUNE_DISCORD_ADAPTER_TOKEN_FILE=/repo/runtime/secrets/discord-adapter-token.txt
mkdir -p /repo/runtime/secrets
echo -n "paste-the-generated-token-here" > /repo/runtime/secrets/discord-adapter-token.txt
chmod 600 /repo/runtime/secrets/discord-adapter-token.txt
cd ~/dune-awakening-selfhost-docker
docker compose -f docker-compose.web.yml restart redblink-dune-docker-console
Below the token field are three role fields for role-based access control: Admin Role and Moderator Role are optional, but the Player Role field is recommended — without it, regular members have no configured role at all, so most read-only commands won't be usable by anyone except the roles you do set. You can skip any of these and fill them in later.
Members with this Discord role can use admin commands (/dune admin doctor, /dune admin roles, etc.)
Members with this role can use everything a Player can, plus moderator commands like /dune admin broadcast (sending a message to all in-game players).
Follow the same steps as above to get the Role ID.
Members with this role can use read-only, player-tier commands (/dune server health, /dune server status, /dune server readiness, etc.)
Follow the same steps as above to get the Role ID.
Scroll to the bottom of the form and click Connect Server.
If everything is correct, the page will change to a success screen confirming your server is connected. You can now close the browser tab.
/dune core ping in any text channel and press EnterIf you get an error:
| Error | Cause | Fix |
|---|---|---|
| "Not authorized" | No roles configured | Go back to the setup portal, enter an Admin, Moderator, or Player Role ID |
| "Adapter request failed" | Console unreachable | Verify the Console URL is correct, publicly accessible, and the adapter is enabled |
| "Missing adapter credential" | Token mismatch | The token in the portal must match the contents of the console's token file |
| Commands don't appear | Slash commands not registered | The bot host handles this automatically; if commands are missing after 1 hour, contact support |