Skip to content

Macxzew/Botdeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Botdeck

Botdeck app icon

License Node Status

Botdeck is a local desktop cockpit for managing official Discord bots, built with Next.js, Electron, Discord.js, Prisma and SQLite.

Run multiple bots, test messages, build embeds, manage slash commands and inspect runtime health from one clean local interface.

Preview

Bot setup Workspace
Bot setup interface preview Workspace interface preview
Health dashboard Slash command studio
Bot health dashboard preview Slash command studio preview

✨ Features

  • Multi-bot local launcher for official Discord bot tokens
  • Discord-style workspace with live message handling
  • Bot creation flow with guided setup
  • Slash command and context command studio
  • Embed builder with live preview
  • Health dashboard for runtime and connection status
  • Local message search powered by SQLite
  • Local-first token and runtime storage
  • Electron desktop packaging for Windows, Linux and macOS
  • Shared TypeScript protocol between the web app and desktop runtime

πŸš€οΈ Usage

Start by installing the dependencies:

npm install

Once installed, you can run Botdeck in different ways.

Development

npm run dev

Runs the web interface, WebSocket server, and desktop runner in development mode.

Default endpoints:

  • Web UI: http://localhost:3000
  • WebSocket: ws://localhost:3001

Desktop App

npm run app

Builds and launches the Electron desktop app.

Build

npm run build

Builds the project for production.

Package

npm run build-win
npm run build-lin
npm run build-mac
npm run build-all

Builds desktop packages for Windows, Linux, macOS, or all supported platforms.

Clean

npm run clean

Removes generated files and local build artifacts.


🌳️ Project Structure

botdeck/
β”œβ”€ apps/
β”‚  β”œβ”€ web/        # Next.js app, API routes, WebSocket server and UI
β”‚  └─ desktop/    # Electron entry point and desktop runner
β”‚
β”œβ”€ packages/
β”‚  └─ shared/     # Shared protocol, types and state logic
β”‚
β”œβ”€ assets/        # Icons and README preview assets
β”œβ”€ scripts/       # Development, build, clean and packaging scripts
β”œβ”€ package.json   # Root scripts and workspaces
└─ README.md

βš™οΈ Environment configuration

Botdeck works without a .env file. By default, it stores its local database and runtime key inside .botdeck/ at the project root.

Create a .env file only if you want to override the local runtime configuration:

# SQLite database location.
# Use BOTDECK_DATABASE_PATH for a file path, BOTDECK_DATABASE_DIR for a folder,
# or BOTDECK_DATABASE_URL if you want to pass the full Prisma SQLite URL yourself.
BOTDECK_DATABASE_PATH=.botdeck/database/botdeck.db
# BOTDECK_DATABASE_DIR=.botdeck/database
# BOTDECK_DATABASE_URL=file:./.botdeck/database/botdeck.db

# Local WebSocket server used by the web UI and desktop runtime.
BOTDECK_WS_HOST=127.0.0.1
BOTDECK_WS_PORT=3001
NEXT_PUBLIC_WS_URL=ws://localhost:3001

# Allow access from another device on the same network.
# Keep this disabled unless you know why you need it.
BOTDECK_ALLOW_NETWORK=false

# Debug Prisma SQL queries in the server logs.
BOTDECK_PRISMA_LOG_QUERIES=0

# Windows packaging only: override the embedded Node runtime version.
# BOTDECK_NODE_RUNTIME_VERSION=22.16.0

Do not commit your .env file. It can contain local paths, debug settings, or machine-specific values.


πŸ›’οΈ Local Data

Botdeck stores runtime data locally in .botdeck/ by default.

.botdeck/
β”œβ”€ database/
β”‚  └─ botdeck.db
└─ runtime.key

These files are ignored by Git and should not be committed.


⭐ Show your support

Give a ⭐️ if this project helped you!


πŸ“œοΈ License

Copyright Β© 2026 Macxzew.

About

πŸ€–οΈ Botdeck is a sleek Discord-style dashboard to manage servers, roles, permissions, bot activity, and customization from one clean interface.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors