The DisBucket Web UI now supports manual channel selection for uploads, giving you full control over where your files are stored on Discord.
Open your browser and navigate to:
http://127.0.0.1:8000/
Click on "Upload Artifact" in the sidebar navigation.
You'll see the following fields:
-
File Selection
- Click or drag files/folders to the drop zone
- Toggle "Upload as folder" to preserve directory structure
-
Artifact Metadata
- Title: Optional name for your upload
- Tags: Comma-separated tags (e.g.,
backup, important, v1.0)
-
Storage Channel ⭐ NEW!
- Dropdown menu with available channels
- Options include:
Auto (Round-Robin Distribution)- Default option- Your configured channels (e.g.,
file-storage-vault,backup-storage)
-
Description
- Optional text description
-
Require CLI Confirmation
- Checkbox for additional confirmation
Option A: Automatic Distribution (Default)
- Leave the dropdown set to
Auto (Round-Robin Distribution) - DisBucket will automatically distribute your files across all configured channels
- Best for general uploads and load balancing
Option B: Specific Channel
- Click the dropdown and select a specific channel
- Example: Choose
backup-storagefor critical backups - Your upload will be stored exclusively in that channel
- Best for organized storage and easy retrieval
Click "Start Upload" button and monitor progress in the Dashboard.
╔═══════════════════════════════════════════════════════╗
║ Upload New Artifact ║
╠═══════════════════════════════════════════════════════╣
║ ║
║ 📁 [Drop files or click to browse] ║
║ ☐ Upload as folder ║
║ ║
║ ┌─────────────────┬──────────────────────────────┐ ║
║ │ Title │ Tags │ ║
║ │ [ ] │ [ ] │ ║
║ └─────────────────┴──────────────────────────────┘ ║
║ ║
║ Storage Channel (Optional - Auto if not selected) ║
║ ┌────────────────────────────────────────────────┐ ║
║ │ # [Auto (Round-Robin Distribution) ▼] │ ║
║ └────────────────────────────────────────────────┘ ║
║ ℹ Select a specific channel or leave as Auto ║
║ ║
║ Description ║
║ ┌────────────────────────────────────────────────┐ ║
║ │ │ ║
║ └────────────────────────────────────────────────┘ ║
║ ║
║ ☐ Require CLI Confirmation [🚀 Start Upload] ║
╚═══════════════════════════════════════════════════════╝
The channel dropdown is dynamically populated from your .env configuration:
STORAGE_CHANNEL_NAME=file-storage-vault,backup-storage,archive-vaultWeb UI will display:
┌─────────────────────────────────────────┐
│ Auto (Round-Robin Distribution) │ ← Default
├─────────────────────────────────────────┤
│ file-storage-vault │
│ backup-storage │
│ archive-vault │
└─────────────────────────────────────────┘
To add more channels to the dropdown:
-
Edit your
.envfile:STORAGE_CHANNEL_NAME=channel1,channel2,channel3
-
Restart the API server (uvicorn will auto-reload)
-
Refresh the Web UI
-
New channels appear in the dropdown automatically
Scenario: Uploading miscellaneous files
Selection: Auto (Round-Robin Distribution)
Result: Files are distributed evenly across all channels for load balancing
Scenario: Database backup files
Selection: backup-storage
Result: All backups stored in a dedicated channel for easy management
Scenario: Large video/audio files
Selection: media-vault
Result: Media files isolated in their own channel
Scenario: Project Alpha artifacts
Selection: project-alpha-storage
Result: All project files in one channel for organizational clarity
The channel selection feature uses the following API:
Get Available Channels:
GET /api/channelsResponse:
{
"channels": [
"file-storage-vault",
"backup-storage",
"archive-vault"
],
"default_distribution": "round-robin"
}Upload with Channel:
POST /api/jobs/upload
Form Data:
- files: (file data)
- title: "My Upload"
- tags: "tag1, tag2"
- channel: "backup-storage" ← Specify channel here
- description: "Description"
- confirm: falseThe upload form sends the following data:
FormData {
files: FileList,
title: "string",
tags: "string",
channel: "string", // Empty for Auto, or channel name
description: "string",
confirm: boolean
}After uploading with a specific channel:
- Go to "File Batches" section
- Click on your batch to expand details
- Look for "Storage Channel" field
- Verify it shows the channel you selected
Example:
┌──────────┬──────┬─────────────────────┬─────────────┐
│ Title │ Tags │ Storage Channel │ Description │
├──────────┼──────┼─────────────────────┼─────────────┤
│ Backup │ DB │ # backup-storage │ Jan backup │
└──────────┴──────┴─────────────────────┴─────────────┘
Problem: Dropdown only shows "Auto (Round-Robin)"
Solution:
- Check your
.envfile hasSTORAGE_CHANNEL_NAMEconfigured - Ensure channels are comma-separated
- Restart the API server
- Refresh the browser
Problem: Selected channel doesn't exist on Discord
Solution:
- DisBucket will automatically create the channel if it doesn't exist
- Ensure your bot has proper permissions in the Discord server
- Check bot has "Manage Channels" permission
Problem: Upload fails when specific channel is chosen
Solution:
- Verify the channel name matches exactly (case-sensitive)
- Check Discord rate limits
- View Dashboard logs for detailed error messages
When in the Upload form:
Tab- Navigate between fieldsSpace- Toggle folder mode checkboxEnter- Submit form (when not in text area)↑↓- Navigate channel dropdown when focused
Let DisBucket handle distribution for optimal load balancing.
Create dedicated channels for:
- Daily/weekly backups
- Project-specific files
- Large media libraries
- Archive storage
# Good
STORAGE_CHANNEL_NAME=db-backups,media-vault,project-alpha
# Bad
STORAGE_CHANNEL_NAME=channel1,channel2,storageKeep a mapping of what each channel is used for:
| Channel | Purpose | Example Content |
|---|---|---|
| file-storage-vault | General files | Mixed content |
| backup-storage | Critical backups | Database dumps |
| media-vault | Large media | Videos, audio |
| archive-vault | Long-term storage | Old projects |
# Manual channel selection
python bot.py upload /path/to/files --channel backup-storage
# Interactive selection
python bot.py upload /path/to/files
# CLI will prompt: "Select channel or press Enter for auto"1. Open http://127.0.0.1:8000/
2. Click "Upload Artifact"
3. Select channel from dropdown
4. Click "Start Upload"
| Feature | CLI | Web UI |
|---|---|---|
| Channel Selection | --channel flag or interactive |
Dropdown menu |
| Visual Feedback | Terminal output | Real-time dashboard |
| Progress Tracking | Text-based | Visual progress bar |
| Multi-file Support | Native | Drag & drop |
| Convenience | Command-line power users | Visual preference |
Both methods use the same backend and produce identical results.
✅ Channel selection is now available in the Web UI
✅ Dynamically loads channels from configuration
✅ Default is Auto (Round-Robin) for easy use
✅ Supports manual selection for organized storage
✅ Works identically to CLI channel selection
Get Started:
- Open Web UI: http://127.0.0.1:8000/
- Go to Upload section
- Choose your channel
- Upload!
Need Help?
- Check
user-guide.mdfor full DisBucket documentation - View
WEB_UI_TEST_REPORT.mdfor compatibility details - Run
python bot.py channelsto see configured channels