feat: Add .env.template to Discord Bot Admin Panel guide - DEPLOYMENT PACKAGE COMPLETE

ADDED: Complete .env.template file to Part 4 Step 2

.env.template Features:
- Clear section headers (Server Config, Discord Bot, OAuth2, Security)
- Detailed comments explaining each variable
- Example values showing format
- Instructions on where to find each value
- Security reminder: DO NOT commit .env to version control

Two-Option Approach:
- Option A (Recommended): Create .env.template first, then copy to .env
- Option B (Alternative): Create .env directly

Variables Included (11 total):
1. NODE_ENV (production/development)
2. PORT (internal port for Node app)
3. SESSION_SECRET (random string for cookie encryption)
4. DISCORD_TOKEN (bot token from Developer Portal)
5. GUILD_ID (Discord server ID)
6. DISCORD_CLIENT_ID (OAuth2 client ID)
7. DISCORD_CLIENT_SECRET (OAuth2 client secret)
8. CALLBACK_URL (OAuth2 redirect URL)
9. ALLOWED_ADMINS (Holly + Michael Discord user IDs)
10. AUDIT_CHANNEL_ID (#bot-audit-logs channel ID)

Security Notes:
- Template shows format without exposing secrets
- Actual .env must be chmod 600
- Actual .env owned by firefrost-bot user
- DO NOT commit .env to git

Template provided by: Gemini (Google AI) - March 23, 2026

STATUS: DEPLOYMENT PACKAGE 100% COMPLETE

All code files ready:
 bot.js (350+ lines)
 index.html (Fire/Frost branded)
 style.css (mobile-responsive)
 app.js (frontend logic)
 .env.template (complete)

All configuration ready:
 Systemd service file
 Nginx reverse proxy config
 Let's Encrypt SSL commands
 Environment variable template

All documentation ready:
 Complete deployment guide (2400+ lines)
 Step-by-step walkthrough
 Troubleshooting guide
 Holly's usage guide

READY FOR PRODUCTION DEPLOYMENT (March 24, 2026)

Chronicler #40
This commit is contained in:
Claude
2026-03-22 13:48:02 +00:00
parent 082cf4923a
commit 8ea691ec05

View File

@@ -350,43 +350,79 @@ npm install express express-session passport passport-discord write-file-atomic
### Step 2: Create Environment Variables File
Create `.env` file with all secrets:
**Option A: Use the template (recommended)**
Create `.env.template` first for reference:
```bash
nano /opt/firefrost-discord-bot/.env.template
```
**Paste this complete template:**
```env
# ==========================================
# FIREFROST COMMAND CENTER - ENVIRONMENT VARIABLES
# Copy this file to .env and fill in the values.
# DO NOT commit the actual .env file to version control.
# ==========================================
# 1. Server Configuration
# ------------------------------------------
# production or development
NODE_ENV=production
# The internal port the Node app runs on (Nginx proxies to this)
PORT=3100
# A long, random string used to encrypt web session cookies
SESSION_SECRET=YOUR_SUPER_SECRET_RANDOM_STRING_HERE
# 2. Discord Bot Core
# ------------------------------------------
# The actual token for the Firefrost Discord Bot (from Discord Developer Portal -> Bot)
DISCORD_TOKEN=YOUR_BOT_TOKEN_HERE
# The ID of the Firefrost Gaming Discord Server
GUILD_ID=YOUR_SERVER_GUILD_ID_HERE
# 3. Discord OAuth2 (Web Login)
# ------------------------------------------
# From Discord Developer Portal -> OAuth2 -> General
DISCORD_CLIENT_ID=YOUR_OAUTH_CLIENT_ID_HERE
DISCORD_CLIENT_SECRET=YOUR_OAUTH_CLIENT_SECRET_HERE
# The URL Discord will redirect to after login (Must match the one added in the Dev Portal exactly)
CALLBACK_URL=https://discord-bot.firefrostgaming.com/auth/discord/callback
# 4. Security & Auditing
# ------------------------------------------
# Comma-separated list of Discord User IDs who are allowed to log in (Holly and Michael)
# Example: 123456789,987654321
ALLOWED_ADMINS=HOLLYS_ID,MICHAELS_ID
# The ID of the private #bot-audit-logs channel where config change embeds are sent
AUDIT_CHANNEL_ID=YOUR_AUDIT_CHANNEL_ID_HERE
```
Save and exit: `Ctrl+X`, `Y`, `Enter`
**Now create the actual .env file:**
```bash
# Copy template to .env
cp /opt/firefrost-discord-bot/.env.template /opt/firefrost-discord-bot/.env
# Edit .env file
nano /opt/firefrost-discord-bot/.env
```
**Option B: Create .env directly (alternative)**
If you didn't create the template, create `.env` directly:
```bash
nano /opt/firefrost-discord-bot/.env
```
**Paste this template and fill in YOUR values:**
**Paste the template above and fill in YOUR values below.**
```env
# Discord Bot Token
DISCORD_TOKEN=your_bot_token_here
# Discord OAuth2 Credentials
DISCORD_CLIENT_ID=your_oauth_client_id_here
DISCORD_CLIENT_SECRET=your_oauth_client_secret_here
# Discord Server
GUILD_ID=your_discord_server_id_here
# OAuth2 Callback URL
CALLBACK_URL=https://discord-bot.firefrostgaming.com/auth/discord/callback
# Session Secret (generate with: openssl rand -base64 48)
SESSION_SECRET=generate_a_very_long_random_string_here
# Admin Authorization (comma-separated Discord user IDs)
ALLOWED_ADMINS=HOLLYS_DISCORD_ID,MICHAELS_DISCORD_ID
# Audit Log Channel (Discord channel ID for #bot-audit-logs)
AUDIT_CHANNEL_ID=your_audit_channel_id_here
# Environment
NODE_ENV=production
# Port (optional, defaults to 3100)
PORT=3100
```
---
**How to fill in each value:**