Installation Guide
Get PEON running on your system in minutes with Docker Compose.
Prerequisites
- Docker: Version 20.10 or higher
- Docker Compose: Version 2.0 or higher
- System Requirements: 4GB RAM, 2 CPU cores minimum
!!! tip "System Check" Run these commands to verify your system:
docker --version
docker compose version
Quick Install (Docker Compose)
1. Download PEON
git clone https://github.com/the-peon-project/peon.git
cd peon
2. Configure Environment
cp .env.example .env
nano .env # Edit configuration
Key Environment Variables:
# Discord Bot Configuration
DISCORD_TOKEN=your_discord_bot_token_here
DISCORD_GUILD_ID=your_discord_server_id
DISCORD_ADMIN_CHANNEL_ID=your_admin_channel_id
# Orchestrator Configuration
LOCAL_API_KEY=your_secure_api_key_here
PEON_VERSION=latest
# Container Registry
REGISTRY_URL=docker.io/umlatt
3. Start PEON Services
./deploy_peon.sh
This will start:
- Orchestrator: Core API service (port 5000)
- Discord Bot: Slash command interface
- Web UI: Browser interface (port 8080)
4. Verify Installation
Check that all services are running:
docker compose ps
You should see:
NAME SERVICE STATUS PORTS
peon-orc-1 orc running 0.0.0.0:5000->5000/tcp
peon-bot-1 bot running
peon-webui-1 webui running 0.0.0.0:8080->8080/tcp
Discord Bot Setup
1. Create Discord Application
- Go to Discord Developer Portal
- Click "New Application"
- Name your application (e.g., "PEON Game Server Bot")
- Go to "Bot" section
- Click "Add Bot"
- Copy the bot token to your
.envfile
2. Set Bot Permissions
Your bot needs these permissions: - Send Messages - Use Slash Commands - Embed Links - Attach Files - Read Message History - Use External Emojis
Permission Integer: 137443262464
3. Invite Bot to Server
Use this URL (replace CLIENT_ID):
https://discord.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=137443262464&scope=bot%20applications.commands
4. Test Bot
In your Discord server, type:
/peon
You should see the PEON interface!
Manual Installation
Option A: Individual Containers
Run each component separately:
# Orchestrator
docker run -d \
--name peon-orc \
-p 5000:5000 \
-e LOCAL_API_KEY=your_api_key \
-v $(pwd)/config:/app/config \
-v $(pwd)/data:/home/peon \
umlatt/peon.orc:latest
# Discord Bot
docker run -d \
--name peon-bot \
-e DISCORD_TOKEN=your_token \
-e LOCAL_API_KEY=your_api_key \
-v $(pwd)/config:/app/config \
umlatt/peon.bot.discord:latest
# Web UI
docker run -d \
--name peon-webui \
-p 8080:8080 \
-e API_ENDPOINT=http://localhost:5000 \
umlatt/peon.webui:latest
Option B: Native Installation
!!! warning "Advanced Users Only" Native installation requires managing Python dependencies and system services manually.
See the development documentation for native installation instructions.
Troubleshooting
Common Issues
Bot not responding:
- Check Discord token in .env file
- Verify bot permissions in Discord server
- Check bot container logs: docker logs peon-bot-1
API errors:
- Verify orchestrator is running: curl http://localhost:5000/api/v1/orchestrator
- Check API key configuration
- Review orchestrator logs: docker logs peon-orc-1
Container startup issues: - Ensure Docker daemon is running - Check available disk space - Verify port availability
Getting Help
- đ User Guide
- đ Report Issues
- đŦ Discord Community