A self-hosted Starboard bot for one Discord server.
- Multiple starboards per server
- Multiple emojis per starboard
- 25+ configurable options for starboards
- Per-channel setting overrides
- Per-role permissions
- Autostar channels
- Use
/starboards create name: starboard-name channel: #starboardto create a starboard. - Use
/starboards view name: starboard-nameto view the settings. - Use
/starboards edit [behavior|requirements|style|embed] name: starboard-name [options...]to edit a starboard.
Copy .env.example to .env, fill in the required values, then start Starboard and PostgreSQL with Docker Compose:
cp .env.example .env
docker compose up -dThe required .env values are:
DISCORD_TOKEN=
BOT_ID=
GUILD_ID=
POSTGRES_PASSWORD=DISCORD_TOKEN is your bot token, BOT_ID is your bot application's user ID, GUILD_ID is the only Discord server ID the bot should run in, and POSTGRES_PASSWORD can be any strong password for the local Compose database. The Compose setup reads .env automatically, creates a persistent PostgreSQL volume, and passes the database settings to Starboard. You only need to set SB_DATABASE_URL yourself when connecting to an existing external database.
If you're already hosting starboard-3 and want to switch to starboard-4, you have to alter the database structure.
Start by running psql postgresql. Then you can run:
CREATE DATABASE starboard_4 WITH OWNER <starboard username> TEMPLATE <old database name>;Now exit, and then run psql starboard_4 < migrate.sql where migrate.sql is the file found in this repo.
After doing this, you should be able to launch starboard-4.