Guides

Self-Hosting Ionide

What the installer does, what it needs from you, and how to update or reconfigure it.

Ionide's bot only runs self-hosted — there's no hosted alternative. This page covers what the installer does and how to manage the container afterward. For the end-to-end walkthrough, start at Getting Started.

Requirements

  • A Linux host with Docker (the installer will offer to install Docker if it's missing).
  • A Discord bot application and token — see below if you don't have one yet.

Creating a Discord bot token

  1. Go to the Discord Developer Portal and create a New Application.
  2. Open the Bot tab, click Reset Token, and copy the token. You'll paste this into the installer.

Running the installer

curl -fsSL https://install.ionide.net | bash

The installer:

  1. Checks for Docker and offers to install it via Docker's official convenience script if it's missing.
  2. Prompts once for your Discord bot token.
  3. Generates a SECRETS_ENCRYPTION_KEY and writes both values to a local .env file. This key encrypts your exchange API secrets at rest — back it up; losing it means losing access to any exchange credentials you've stored via /secrets-set.
  4. Starts the container (ionide-discord-bot) with --restart unless-stopped, a 768MB memory limit, and a persistent /app/data volume for its local database.
  5. Waits for the bot to come online and prints a Discord invite link built from your bot token.

Invite the bot using the printed link, then continue with activating your license.

Updating

Re-run the same install command at any time — it pulls the latest image and recreates the container without asking for your token or encryption key again:

curl -fsSL https://install.ionide.net | bash

To change your Discord bot token or regenerate the encryption key, pass --reconfigure:

curl -fsSL https://install.ionide.net | bash -s -- --reconfigure

Where things live

  • .env — your Discord bot token and encryption key.
  • /app/data (Docker volume) — the bot's local database, including your encrypted exchange credentials and activation state. Back this up along with the encryption key if you move hosts.

Troubleshooting

  • Container won't come up / installer hangs waiting for it: check docker logs ionide-discord-bot for errors — a missing or invalid bot token is the most common cause.
  • Commands don't respond in Discord: the bot blocks every command except /activate until a license has been activated. Run /activate <key> first.
  • Still stuck? Ask in Discord.