iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
For most servers, the best self-hosted Discord bot depends on the job: choose Muse for music, BoneBot for a Docker-Compose modular bot, Red-DiscordBot for an extensible cog system, Modmail for staff communications, or Ticketsbot for support tickets. Self-hosting runs the bot software on your machine, but the bot still authenticates to Discord through a token created in the Discord Developer Portal. Docker is the practical default, although each project has different setup and maintenance requirements.
What “self-hosted Discord bot” actually means
A self-hosted bot is software that you operate on your own computer, home server, virtual machine, or other host instead of relying on a hosted bot service. The process does not create a private Discord network. Your bot still connects to Discord’s API, and Discord still controls the application account, permissions, intents, rate limits and platform access.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsYou create an application and bot user in the Discord Developer Portal, generate its bot token there, and configure that token in the software you run. The host must remain online whenever you expect commands, moderation actions, music playback or ticket notifications to work. If the machine is shut down, disconnected or running a stopped container, the bot appears offline.
Self-hosting is most useful when you need control over data, configuration, uptime decisions, installed extensions or operating costs. It also makes you responsible for updates, backups, secrets, logs, networking and recovery. A bot that is “open source” is not automatically easy to operate: check its documentation, release activity and license before putting it in a production community.
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
Best self-hosted Discord bots at a glance
| Bot | Best for | Deployment noted in available documentation | License information found | Important qualification |
|---|---|---|---|---|
| Muse | Music playback | Docker (recommended) or Node.js; an image is published through GHCR | Not stated | Confirm current image name, configuration and release activity before deployment. |
| BoneBot | General, modular server features | Docker Compose; set bot-token in resources/config.txt, then run docker compose up -d |
Not stated | Requires a configuration-file workflow rather than a single token argument. |
| Red-DiscordBot | Modular features through a cog system | Community Docker images, including images maintained by PhasecoreX and 4o66 | GPL-3.0 was reported by a third-party wrapper repository, not verified against the official project | The images are community maintained, not official images from the Red project team. |
| Modmail | Private staff messaging | Self-hostable; installation procedure was not established in the available material | MIT, according to a DEV Community roundup | Obtain current installation and maintenance instructions from the project before committing. |
| Ticketsbot | Support-ticket workflows | Self-hostable; installation procedure was not established in the available material | GPL-3.0, according to a DEV Community roundup | Verify the current repository, release status and deployment instructions. |
The list above describes what was documented, not a guarantee that every project is actively maintained in October 2026. Last-commit dates, releases, issue activity and current licenses should be checked immediately before installation.
Muse: the focused choice for a self-hosted music bot
Muse is described as a self-hosted “midwestern Discord music bot.” Its documented deployment paths are Docker, which the project recommends, and Node.js. The Docker distribution is pulled from the GitHub Container Registry (GHCR).
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Why choose Muse
- Its purpose is narrow and clear: music rather than a large collection of moderation or utility features.
- Docker provides an isolated runtime and makes it easier to keep the bot separate from other services on the same server.
- Node.js is available if you specifically prefer a non-container installation.
What to verify first
The available material does not establish Muse’s current image tag, environment variables, supported audio sources, storage requirements, license or last release. Do not copy a command from an old tutorial without checking the project’s current documentation. Pin a tested image tag for production rather than silently following an unreviewed “latest” tag, and document every volume and environment variable you add.
BoneBot: a practical Docker Compose modular bot
BoneBot is presented as a modular bot that adds features to a server. Its documented starting pattern is straightforward: place the bot token in resources/config.txt, then start the stack with docker compose up -d.
BoneBot setup pattern
- Download the project’s current deployment files and inspect the supplied Compose file before starting it.
- Open
resources/config.txtand set thebot-tokenvalue to the token generated for your Discord application. - Review bind mounts, exposed ports and container users. Remove any public port mapping that the bot does not need.
- From the directory containing the Compose file, run
docker compose up -d. - Inspect container logs and confirm that the bot connects before inviting it to a busy production server.
The command starts the services in detached mode; it does not by itself prove that the token, intents or permissions are correct. The license and current release state were not established, so treat those as due-diligence items.
Rank #2
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (4GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- CanaKit Mega Heat Sink - Black Anodized
Red-DiscordBot: the flexible cog-based option
Red-DiscordBot is a modular bot organized around “cogs,” allowing administrators to add or remove feature modules. Several community Docker images are cited, including images associated with PhasecoreX and 4o66. These are not official images operated by the Red project team.
Recommended Free Tools
Choosing between community images
| Image approach | Behavior described | Operational implication |
|---|---|---|
| PhasecoreX image | Can be started with one Docker command and updates to the latest PyPI release when the container restarts | Convenient, but an automatic update on restart can introduce an unplanned change. Test upgrades and keep a rollback plan. |
| 4o66 image | Accepts the token as an environment variable, stores it in settings.json, and runs one instance per container |
Use a protected environment-file or secret mechanism and provide a separate container for each independent bot instance. |
Because these images are community maintained, verify the image owner, build history, update policy and permissions before pulling one. The GPL-3.0 claim associated with Red-DiscordBot came from a third-party wrapper repository and was not verified against the official project, so do not treat it as definitive legal advice.
When Red-DiscordBot fits
Red is a strong conceptual fit when you want one bot that can grow through modules instead of deploying several narrowly focused bots. That flexibility also means more configuration and a larger update surface. Establish which cogs you will enable, what permissions each needs and where their persistent data is stored before moving the bot between hosts.
Modmail and Ticketsbot: staff and support workflows
Modmail
Modmail is listed as a self-hostable bot for staff messaging. A DEV Community roundup identifies an MIT license. The available material does not provide a current installation command, token configuration path or release date, so obtain those details from the project you intend to use. Its use case is private communication between members and moderators rather than general-purpose automation.
Ticketsbot
Ticketsbot is listed for support tickets, with GPL-3.0 attributed by the same type of roundup. Installation details were not established. Before deployment, confirm how ticket transcripts, attachments and staff permissions are stored, and whether the current project supports the Discord features your workflow requires.
Rank #3
- CanaKit Raspberry Pi 5 Essentials Starter Kit
Data-handling questions for both
- Where are message contents, user IDs, attachments and transcripts written?
- Can staff-only channels be excluded from logs or backed up securely?
- What happens to open tickets if the container is restored from an older backup?
- Which Discord permissions are required for creating channels, reading history and sending messages?
How to choose the right bot
| Your priority | Most suitable candidate | Why |
|---|---|---|
| Music only | Muse | Its stated purpose is music and Docker is the recommended deployment route. |
| One modular bot with a Compose file | BoneBot | The documented configuration and startup flow is explicit: token in resources/config.txt, then Compose. |
| Extensible cog ecosystem | Red-DiscordBot | Its design centers on installable cogs, with several community container choices. |
| Member-to-staff conversations | Modmail | Its listed purpose is staff messaging. |
| Structured support requests | Ticketsbot | Its listed purpose is ticket handling. |
If two projects meet the same need, prefer the one with a current release, readable upgrade notes, documented backups and a license you can comply with. Popularity alone is not a maintenance plan.
Server requirements and realistic resource planning
These bots generally have modest compute needs, but the figures available are estimates rather than benchmarks for every bot in the table.
- A third-party Red-DiscordBot guide estimates 0.1 vCPU and 256 MB RAM as a minimum, with 0.5 vCPU and 1 GB RAM recommended.
- A self-hosting guide for Haven, which is a chat platform rather than a Discord bot, lists Docker Engine 24 or newer, the Docker Compose plugin, 1 vCPU, 512 MB RAM and 1 GB disk. Those numbers are useful as a small-container reference, not as a measured requirement for Muse, BoneBot, Red, Modmail or Ticketsbot.
Leave headroom for the operating system, Docker, logs, databases, media caches and other services. Music processing, large transcript archives or several containers can exceed a tiny baseline. Disk capacity is particularly easy to underestimate when logs and attachments are retained.
Minimum operational checklist
- A host that stays online and has reliable outbound internet access.
- Docker Engine and the Compose plugin if the selected project uses containers.
- A firewall and an administrative account that does not run routine commands as root.
- Encrypted or otherwise protected backups for configuration and persistent data.
- A method for receiving alerts when the container exits or loses its Discord connection.
Common setup procedure for a self-hosted Discord bot
1. Create the Discord application and bot user
- Open the Discord Developer Portal and create an application.
- Add a bot user to the application and generate its token on the Bot page.
- Copy the token directly into your secret-management method. The reported portal behavior is that the token is shown once; resetting it invalidates the old token. Treat that behavior as something to confirm in the current portal UI.
Never paste the token into a public repository, issue, screenshot, shell history or chat message. If it may have been exposed, reset it immediately and update the running container.
2. Configure intents and permissions
Enable only the privileged intents required by the selected bot. A third-party Red-DiscordBot guide says Red commonly needs Presence, Server Members and Message Content intents, but that guidance was not verified against Discord’s current policy documentation. Follow the project’s current instructions and Discord’s portal labels rather than enabling every intent automatically.
Rank #4
- Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
Invite the bot with the smallest practical set of permissions. A music bot should not receive administrator permission simply because it needs to join a voice channel; a ticket bot may need channel-management permissions, but those can often be limited to a dedicated category.
3. Prepare secrets and persistent storage
- Use an environment file, Docker secret or protected configuration file with permissions restricted to the service account.
- Map only the directories the project documents for persistent data.
- Back up configuration and data before changing image versions.
- Exclude secrets from version control and from routine log collection.
4. Start and observe the container
Use the project’s supplied Docker command or Compose file. For BoneBot, the documented sequence is to set bot-token in resources/config.txt and run docker compose up -d. Muse recommends Docker but the available material does not include a verified current command. For Red, use the exact command supplied by the selected community image rather than guessing its environment-variable names.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchAfter startup, inspect logs, confirm the bot reaches an online state, test one command in a private channel and verify that the container restarts cleanly. Do not expose a management dashboard or database port to the public internet unless the project explicitly requires it.
5. Invite and test in a controlled server
- Create a private test server or restricted category.
- Invite the bot with the selected scopes and minimum permissions.
- Test commands, role checks, channel creation, voice access or ticket closure, depending on the bot.
- Stop and restart the container to verify that configuration and state survive a restart.
- Test a backup restore before relying on the bot for moderation records or support history.
Docker operations that matter in production
Updates
Read release notes before updating. An image that follows the latest package release on every restart, as described for the PhasecoreX Red image, trades convenience for change control. Pin a known-good version when predictable behavior matters, then schedule upgrades and test them in a separate instance.
Backups
Back up the bot’s configuration and every documented data directory, not just the Compose file. A token can be regenerated, but ticket records, settings and cog data may not be recoverable without a data backup. Keep at least one backup offline or on a separate host and periodically perform a restore test.
Best Value
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 32GB EVO+ Micro SD Card pre-loaded with 64-bit Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit 45W PD Power Supply for the Raspberry Pi 5
- Display Cable - 6 foot (Supports up to 4K 60p)
Monitoring
- Alert on container exit, repeated restart loops and authentication failures.
- Rotate logs so a busy bot cannot fill the disk.
- Record the image version, configuration changes and token-reset date.
- Review permissions when adding a cog or changing a ticket workflow.
Troubleshooting self-hosted bot failures
The bot is offline immediately after startup
- Check that the token is complete and belongs to the intended application.
- Confirm outbound DNS and HTTPS connectivity from the host.
- Read the container log for authentication, gateway or configuration errors.
- If the token was reset in the portal, replace the old value and restart the container.
Commands do nothing
Check that the required intents are enabled both in the portal and in the bot’s configuration, then verify command permissions and role hierarchy. Message Content, Presence and Server Members requirements vary by project; do not assume that enabling one automatically enables the others.
The container restarts continuously
Inspect the first error rather than repeatedly restarting it. Common causes include a malformed config file, an unavailable volume, an unsupported runtime version or an image whose startup command changed. Roll back to the last known-good image and restore the previous configuration if the problem began after an update.
Data disappeared after recreation
The container filesystem is disposable unless the project’s data directory is mounted to a persistent volume or bind mount. Check the Compose file, locate the documented data path and restore from backup before recreating the service again.
Licensing and maintenance checks before you commit
License labels in community lists are not a substitute for reading the current project license. The available information identifies Modmail as MIT and Ticketsbot as GPL-3.0 through a DEV Community roundup. It does not establish licenses for Muse or BoneBot, and the GPL-3.0 statement for Red-DiscordBot came from a third-party wrapper rather than a verified official repository.
For every candidate, check these items on the project’s current official home:
- Most recent release and commit date.
- Supported Discord API or library versions.
- Container ownership, build provenance and update policy.
- Required intents and permissions.
- Configuration, migration and rollback instructions.
- License text and obligations for modified or redistributed versions.
No current maintenance statistics were established for the candidates in the available material. That uncertainty is itself a selection factor: a less feature-rich bot with active issue responses and documented upgrades can be safer than an impressive but abandoned project.
Do you actually want to self-host Discord, rather than a bot?
Some projects described as self-hosted Discord alternatives are complete chat platforms, not bots that run inside Discord. A 2026 roundup lists Spacebar as a project intended to let real Discord bots and clients operate against your own server, and describes Stoat (formerly Revolt) as a close Discord-like platform with a bot API. Haven is another self-hosted Discord alternative with a Docker guide. These options change the server and client architecture entirely; they are not substitutes for installing Muse, BoneBot, Red-DiscordBot, Modmail or Ticketsbot in an existing Discord server.
Which bot should you run?
Use Muse when music is the only requirement and you are comfortable validating its current Docker or Node.js instructions. Choose BoneBot when you want a Compose-managed modular bot and prefer an explicit configuration file. Choose Red-DiscordBot when cogs and extensibility matter more than a minimal stack, while remembering that the readily cited images are unofficial community builds. Use Modmail for staff messaging or Ticketsbot for support tickets only after confirming their current installation and data-handling documentation. Whichever you select, treat the token as a production secret, use least-privilege permissions, persist the documented data directories and verify maintenance before inviting the bot to a large community.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

