"A beginning is a very delicate time."
Dune: Awakening Docker — Sentinel
The watcher that never sleeps.
Monitor your Dune Awakening self-hosted server from Discord. Status cards, player inventories, combat intel, and more — all through slash commands.
See It In Action
Two commands — your server's health and your character's status.
What Sentinel Brings to Your Sietch
Seven pillars of knowledge, pinned to the board for all to see.
Sietch Watch
Eyes on the battlegroup
The Personal Ledger
Know thyself, know thy spice
Deep Desert Intel
What the worms know
The Archives
Records of Arrakis
Kanly Council
The voice of the Naib
Foundation Stones
Beneath the sand
Sentinel Core
The beat that calls
How Sentinel Works
From silence to watcher in minutes.
Add to Discord
Invite Sentinel to your Discord server. No application or bot token to create — it's already a running, hosted bot.
Connect Your Console
Sign in with Discord on the setup portal, then enter your console URL and adapter token. If your console's Discord adapter is already enabled, no .env editing is needed.
Type /dune
Assign roles to your members. Check server status, view inventories, track combat intel — right from Discord.
Built for Survival
Security is not a feature. It is the foundation.
Deny-by-Default RBAC
Every command is denied unless explicitly granted. The owner assigns Discord roles to four tiers (Player, Moderator, Admin, Owner) with fine-grained per-command permissions. Write operations (restarts, backups, updates) are separately gated behind a global enable flag.
Bearer-Token Auth
Every request to the console requires a secret bearer token. No token, no access.
Granular Role-Based Access
Four tiers — Player, Moderator, Admin, Owner — control command access. The owner can assign any Discord role to any command or group of commands. Two modes: restricted (explicit grants required) and open (all members have access).
No Docker Socket
The bot never touches the Docker socket. It cannot see or control your containers.
No Direct Game Database Access
The bot never queries the game server's Postgres database. Character linking stores Discord↔Character associations (up to three per user) in the bot's own local database. All game data flows through the console's secure API layer.
No Shell Commands
The bot cannot execute shell commands on your server. Period.
Secrets Stay Out of Code
Tokens loaded from files (keep them at 0600) or environment variables — never committed to git. Multi-tenant adapter tokens encrypted at rest (AES-256-GCM). The bot's own code never writes secrets to logs.
Scanned Every Commit and PR
Pre-commit hooks run gitleaks, ggshield, and semgrep locally. CI adds full Semgrep Pro + Supply Chain analysis, trivy scanning, and dependency auditing on every push to main and every pull request.
All the Words Sentinel Speaks
Every command, laid bare on the scroll.
| Command | Description | Role |
|---|---|---|
/dune server health | Check the Discord adapter | Observer |
/dune server status | Dashboard card with server status, players, maps | Observer |
/dune server summary | Compact text summary of server status | Observer |
/dune server readiness | Readiness and preflight checks | Observer |
/dune server services | List all game services and their state | Observer |
/dune server services-detail | Detailed service status with diagnostics | Observer |
/dune server readiness-detail | Readiness with full issue reporting | Observer |
/dune server maintenance | Show maintenance mode status | Admin |
| Command | Description | Role |
|---|---|---|
/dune player link <name> | Link Discord to your in-game character | Observer |
/dune player unlink <id> | Remove a specific character link by ID | Observer |
/dune player whoami | Show your linked game character info | Observer |
/dune player verify <code> | Verify a multi-character link code | Observer |
/dune player characters | List all your linked characters | Observer |
/dune player inventory | View your character's inventory | Observer |
/dune player storage | View items in your storage containers | Observer |
/dune player find <item> | Search for an item across all storage | Observer |
/dune player faction <name> | Set your faction for themed embeds | Observer |
| Command | Description | Role |
|---|---|---|
/dune ops activity | Player activity statistics | Observer |
/dune ops combat | Combat and death statistics | Observer |
/dune ops resources | Resource field data (spice, water, minerals) | Observer |
/dune ops economy | Currency, trading, and tax data | Observer |
/dune ops dashboard | Aggregated operational summary | Observer |
/dune ops armory | Server-wide aggregate inventory stats | Observer |
/dune ops prometheus | Container and infrastructure metrics | Observer |
/dune ops soc | Bridge health and request stats | Observer |
/dune ops announcements | Show recent server announcements | Observer |
/dune ops alerts | Show active Prometheus alerts | Observer |
| Command | Description | Role |
|---|---|---|
/dune admin doctor | Full system diagnostic across all services | Admin |
/dune admin cooldowns | Show active command cooldowns | Admin |
/dune admin latency | Adapter request latency history | Admin |
/dune admin events | Recent server incidents and alerts | Admin |
/dune admin broadcast <msg> | Send a message to all in-game players | Admin |
/dune admin roles | Show configured Discord role mappings | Admin |
| Command | Description | Role |
|---|---|---|
/dune infra version | Show Dune stack version | Observer |
/dune infra servers | List game server partitions | Observer |
/dune infra ports | Show network port and listener status | Observer |
/dune infra db | Database status and health | Observer |
| Command | Description | Role |
|---|---|---|
/dune core about | Bot version, security info, connection details | Observer |
/dune core ping | Test Discord and adapter latency | Observer |
/dune core help | List all commands you have permission to use | Observer |
/dune core setup | How to add this bot to your own Discord server | Observer |
| Command | Description | Role |
|---|---|---|
/dune data population | Show server population statistics | Observer |
/dune data backups | List recent database backups | Admin |
/dune data maps | Show active map partitions | Observer |
| Command | Description | Role |
|---|---|---|
/dune logs dune-cache | View game cache service logs | Admin |
/dune logs dune-server | View game server logs by name | Admin |
/dune logs orchestrator | View orchestrator service logs | Admin |
/dune logs console | View the console's own container logs | Admin |
Bring the Watcher to Your Sietch
"The mystery of life isn't a problem to solve, but a reality to experience."
Sentinel is a hosted Discord bot — invite it, connect your console through the setup portal. If your console's Discord adapter is already enabled, you're up in about 5 minutes. No Discord application or bot token to create.
Questions the Fremen Ask
Wisdom for those who seek to understand.
Yes. Sentinel is a single, hosted bot — invite it with the Add to Discord link, then connect your console through the web setup portal. No Discord application to create. Follow the Setup Guide for step-by-step instructions.
Yes. It never accesses the Docker socket or game files directly. All commands go through a bearer-token protected API. Secrets use file-based storage with restricted permissions (0600). Security scanning runs on every commit.
Sentinel uses a deny-by-default IAM-style RBAC model. The owner assigns Discord roles to four tiers (Player, Moderator, Admin, Owner) with per-command permissions. Character linking (/dune player link) stores a Discord↔Character association in the bot's local database. Admin write operations (restarts, backups, updates) require an explicit enable flag and role authorization.
First, link your Discord account to your character: /dune player link <your-character-name>. Then run /dune player inventory to see everything your character is carrying.
You likely don't have a Sentinel role assigned yet — ask a server admin to give you the Player role (or higher). If commands still don't appear after a minute, try logging out and back into Discord. If your server was just connected, allow up to an hour for commands to register globally.
No. Inviting the bot and connecting it through the web setup portal requires no coding — just your console's URL and an adapter token. The whole process takes about 5 minutes.
Yes — Sentinel runs on our hosted infrastructure, so your Console URL must be publicly reachable (a public IP, a domain, or a tunnel like Cloudflare Tunnel if your console runs on a home network). See the Setup Guide for details.
Generate a new token, update the token file in your console's repo root (runtime/secrets/discord-adapter-token.txt — the full path is /repo/runtime/secrets/discord-adapter-token.txt inside the console container), restart the console, and paste the new token into the setup portal. The old token stops working immediately.