"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.

Live Preview
sietch-watch
U
Fedaykin Today at 14:32
/dune server status
Sentinel APP Today at 14:32
Sietch Watch — Server Status
STATUS
● Online
PLAYERS
0 online, 2 total
BATTLEGROUP
Tabr-Tau (sh-afe01…)
SPICE FIELDS
33 active across both maps
U
Fedaykin Today at 14:33
/dune player whoami
Sentinel APP Today at 14:33
The Personal Ledger — Your Character
You are linked as Fedaykin. Your faction is Fremen.
INVENTORY
24 items
STORAGE
4 containers
LEVEL
GUILD
Fedakyn Raiders
players online
sietches
battlegroups
spice fields
installations
commands run
Read-only by default Bearer-token auth RBAC Zero Docker access
Live data

What Sentinel Brings to Your Sietch

Seven pillars of knowledge, pinned to the board for all to see.

Sietch Watch

Eyes on the battlegroup

health status summary readiness services

The Personal Ledger

Know thyself, know thy spice

link me inventory storage find faction

Deep Desert Intel

What the worms know

activity combat resources economy dashboard

The Archives

Records of Arrakis

population backups maps logs

Kanly Council

The voice of the Naib

doctor cooldowns latency events broadcast

Foundation Stones

Beneath the sand

version servers ports db

Sentinel Core

The beat that calls

about ping help setup

How Sentinel Works

From silence to watcher in minutes.

1

Add to Discord

Invite Sentinel to your Discord server. No application or bot token to create — it's already a running, hosted bot.

2

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.

3

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.

CommandDescriptionRole
/dune server healthCheck the Discord adapterObserver
/dune server statusDashboard card with server status, players, mapsObserver
/dune server summaryCompact text summary of server statusObserver
/dune server readinessReadiness and preflight checksObserver
/dune server servicesList all game services and their stateObserver
/dune server services-detailDetailed service status with diagnosticsObserver
/dune server readiness-detailReadiness with full issue reportingObserver
/dune server maintenanceShow maintenance mode statusAdmin
CommandDescriptionRole
/dune player link <name>Link Discord to your in-game characterObserver
/dune player unlink <id>Remove a specific character link by IDObserver
/dune player whoamiShow your linked game character infoObserver
/dune player verify <code>Verify a multi-character link codeObserver
/dune player charactersList all your linked charactersObserver
/dune player inventoryView your character's inventoryObserver
/dune player storageView items in your storage containersObserver
/dune player find <item>Search for an item across all storageObserver
/dune player faction <name>Set your faction for themed embedsObserver
CommandDescriptionRole
/dune ops activityPlayer activity statisticsObserver
/dune ops combatCombat and death statisticsObserver
/dune ops resourcesResource field data (spice, water, minerals)Observer
/dune ops economyCurrency, trading, and tax dataObserver
/dune ops dashboardAggregated operational summaryObserver
/dune ops armoryServer-wide aggregate inventory statsObserver
/dune ops prometheusContainer and infrastructure metricsObserver
/dune ops socBridge health and request statsObserver
/dune ops announcementsShow recent server announcementsObserver
/dune ops alertsShow active Prometheus alertsObserver
CommandDescriptionRole
/dune admin doctorFull system diagnostic across all servicesAdmin
/dune admin cooldownsShow active command cooldownsAdmin
/dune admin latencyAdapter request latency historyAdmin
/dune admin eventsRecent server incidents and alertsAdmin
/dune admin broadcast <msg>Send a message to all in-game playersAdmin
/dune admin rolesShow configured Discord role mappingsAdmin
CommandDescriptionRole
/dune infra versionShow Dune stack versionObserver
/dune infra serversList game server partitionsObserver
/dune infra portsShow network port and listener statusObserver
/dune infra dbDatabase status and healthObserver
CommandDescriptionRole
/dune core aboutBot version, security info, connection detailsObserver
/dune core pingTest Discord and adapter latencyObserver
/dune core helpList all commands you have permission to useObserver
/dune core setupHow to add this bot to your own Discord serverObserver
CommandDescriptionRole
/dune data populationShow server population statisticsObserver
/dune data backupsList recent database backupsAdmin
/dune data mapsShow active map partitionsObserver
CommandDescriptionRole
/dune logs dune-cacheView game cache service logsAdmin
/dune logs dune-serverView game server logs by nameAdmin
/dune logs orchestratorView orchestrator service logsAdmin
/dune logs consoleView the console's own container logsAdmin

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.