Self-Hosting Bifröst using Docker on Windows
This guide will walk you through the steps to self-host Bifröst using Docker on a Windows system.
Prerequisites
- Docker Desktop installed on your system. You can download it from the official Docker Desktop page. During installation, ensure WSL 2 is enabled when prompted (recommended) or use the Hyper-V backend.
- Basic knowledge of using the terminal (PowerShell or Command Prompt) and Docker.
1. Create a Project Directory
Open PowerShell or Command Prompt and run:
mkdir bifrost
cd bifrost2. Create a Fluxer Bot
- Open Fluxer.
- Go to User Settings → Applications.
- Click Create Application.
- Copy the Bot Token and Application ID — you'll need them for the
.envfile.
3. Create a Discord Bot
- Go to the Discord Developer Portal:
https://discord.com/developers/applications - Click New Application.
- Go to Bot → Add Bot.
- Copy the Bot Token.
- Under Privileged Gateway Intents, enable:
- Message Content Intent
- Copy the Bot Token and Application ID — you'll need them for the
.envfile.
4. Create the .env File
Create a .env file in the project root:
New-Item -Name .env -ItemType FileOpen it in your preferred text editor (e.g., Notepad) and add your credentials:
# Fluxer
BF_FLUXER_TOKEN="Your Fluxer Bot Token"
BF_FLUXER_APP_ID="Your Fluxer Application ID"
# Discord
BF_DISCORD_TOKEN="Your Discord Bot Token"
BF_DISCORD_APP_ID="Your Discord Application ID"You can also use .env.example as a reference for all available environment variables.
5. Create the docker-compose.yml
Create a docker-compose.yml file:
services:
bifrost:
image: kartoffelchipss/bifrost:latest
container_name: bifrost
restart: unless-stopped
env_file:
- .env
volumes:
- ./config:/configAlternative: Download the compose file from GitHub
Instead of creating the file manually, you can download the official compose file using PowerShell:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/KartoffelChipss/bifrost/main/docker-compose.yml" -OutFile "docker-compose.yml"Alternative: All-in-one setup with PostgreSQL
If you want a complete setup with PostgreSQL included, you can download the all-in-one compose file:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/KartoffelChipss/bifrost/main/docker-compose-aio.yml" -OutFile "docker-compose.yml"This version automatically starts:
- Bifröst
- PostgreSQL database
6. Start the Container
Make sure Docker Desktop is running, then execute:
docker compose up -dDocker will automatically pull the latest Bifröst image from Docker Hub and start the container.
You can view the logs with:
docker compose logs -fOr find the log files in the config\logs directory.
7. Invite the Discord and Fluxer Bot
After the container starts, the invite links for both the Discord and Fluxer bots will be printed in the logs.
Use these links to invite the bots to your servers.