Skip to content

Dashboard Setup

Baytae Tistear edited this page Jul 7, 2026 · 2 revisions

Dashboard Setup

Parent section: Installation and Setup

This page explains first-time dashboard setup after the server and bot are installed.

1. Confirm Dashboard Is Running

Local dashboard:

curl http://127.0.0.1:5000/health

Public dashboard:

curl -I https://YOUR_DOMAIN/health

If the dashboard is not running, check:

sudo systemctl status sdac-dashboard --no-pager
journalctl -u sdac-dashboard -n 120 --no-pager

2. Create The First Admin Account

If not created during install:

cd /home/ubuntu/discord-screenshot-bot
venv/bin/python scripts/reset_admin_login.py --username owner --role owner

List/manage accounts:

venv/bin/python scripts/reset_admin_login.py --list
venv/bin/python scripts/reset_admin_login.py --username alex --disable
venv/bin/python scripts/reset_admin_login.py --username alex --enable
venv/bin/python scripts/reset_admin_login.py --username alex --delete

3. Open Admin Login

Use the configured admin key:

https://YOUR_DOMAIN/admin/login?key=YOUR_ADMIN_KEY

Do not publish the real admin key in the wiki.

4. Configure Discord OAuth

In the Discord Developer Portal, configure the redirect URL to exactly match the dashboard callback.

Environment variable names:

DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
DISCORD_REDIRECT_URI=

Example redirect shape:

https://YOUR_DOMAIN/account/oauth/callback

If admin OAuth is used, configure the admin callback URL expected by the app version. Keep the client secret private.

5. Test User Login

Test:

  • /account/register
  • /account/login
  • /account/oauth/start
  • /account
  • /my-submissions

Discord OAuth should identify the user and available servers. If server selection is wrong, refresh Discord access and check role/server scoping.

6. Test Admin Login

Test:

  • /admin/login
  • /admin
  • /admin/users
  • /admin/settings
  • /admin/maintenance
  • /admin/releases

Admin pages should require both the key and an admin account session.

7. Configure Server Selection

Users should only see servers they can access. Bot Owners can see all servers. Server Owners should see only their server scopes.

Confirm:

  • Server selector shows expected servers.
  • Cross Server section only appears for users allowed to use it.
  • Server Owners can control cross-server visibility for their server.

8. Configure Theme

Open:

/admin/theme?key=YOUR_ADMIN_KEY

Configure:

  • Primary color.
  • Secondary color.
  • Accent color.
  • Page background.
  • Panel color.
  • Sidebar color.
  • Text and muted text.
  • Background image URL or upload.

Preview should affect only the editor page until saved.

9. Configure Layout

Open:

/admin/layout?key=YOUR_ADMIN_KEY

Configure:

  • Content width.
  • Sidebar width.
  • Card radius.
  • Panel padding.
  • Card grid minimum.
  • Background image opacity.
  • Background position.
  • Density.
  • Menu button alignment.
  • Visual test layout card ordering/properties.

Use the menu button alignment option if the sidebar button needs to line up with the page, the sidebar edge, or the viewport.

10. Configure Users And Roles

Open:

/admin/users?key=YOUR_ADMIN_KEY

Use it to:

  • Promote users according to role rules.
  • Ban users according to role hierarchy.
  • Lock users out of games, submissions, or both.
  • Assign per-server roles.
  • Restrict server access.

11. Configure Admin Settings

Open:

/admin/settings?key=YOUR_ADMIN_KEY

Use settings for server-specific configuration, imports/exports, role-related settings, and any dashboard-exposed server controls.

12. Configure Releases

Open:

/admin/releases?key=YOUR_ADMIN_KEY

Verify:

  • Installed version is visible.
  • Latest official release is visible.
  • Latest experimental release is visible.
  • Release notification test works when configured.

13. Configure Maintenance

Open:

/admin/maintenance?key=YOUR_ADMIN_KEY

Verify:

  • Last backup status.
  • Restore test status.
  • Storage warnings.
  • Bot heartbeat.
  • Database health.
  • Rollback queue.
  • Release status.

14. Configure Game Library And Polls

Useful pages:

/admin/game-library?key=YOUR_ADMIN_KEY
/admin/seasons?key=YOUR_ADMIN_KEY
/admin/polls?key=YOUR_ADMIN_KEY

Use these to prepare reusable guessing games, seasons, and website-managed polls.

15. Final Dashboard Verification

Confirm:

  • Public homepage uses the current theme/sidebar.
  • Logged-out pages do not show the old top nav.
  • Login with Discord is visible when OAuth is configured.
  • Admin pages show the admin sidebar.
  • Sidebar works on mobile.
  • Server selection matches permissions.
  • Theme and layout settings apply across pages.
  • Export routes work for allowed admins.

Clone this wiki locally