chore: sync port references and docs to 4000s infra
This commit is contained in:
+4
-4
@@ -55,7 +55,7 @@ VERBOSE=false # Enable verbose/debug logging (default:
|
|||||||
|
|
||||||
# === Database (PostgreSQL) ===
|
# === Database (PostgreSQL) ===
|
||||||
# Option 1: Connection string (overrides individual params)
|
# Option 1: Connection string (overrides individual params)
|
||||||
# DATABASE_URL=postgresql://user:password@localhost:5432/discord_bot
|
DATABASE_URL=postgresql://asephs:***@100.121.180.82:6432/dcbot
|
||||||
|
|
||||||
# Option 2: Individual connection parameters
|
# Option 2: Individual connection parameters
|
||||||
POSTGRES_HOST=localhost # PostgreSQL host (default: localhost)
|
POSTGRES_HOST=localhost # PostgreSQL host (default: localhost)
|
||||||
@@ -67,11 +67,11 @@ POSTGRES_POOL_MIN=2 # Minimum pool connections (default: 2)
|
|||||||
POSTGRES_POOL_MAX=10 # Maximum pool connections (default: 10)
|
POSTGRES_POOL_MAX=10 # Maximum pool connections (default: 10)
|
||||||
|
|
||||||
# === Redis ===
|
# === Redis ===
|
||||||
REDIS_URL=redis://localhost:6379 # Redis connection string (default: redis://localhost:6379)
|
REDIS_URL=redis://100.121.180.82:6379 # Redis connection string (default: redis://localhost:6379)
|
||||||
|
|
||||||
# === Voice PCM WebSocket (direct gateway→backend, bypasses Redis) ===
|
# === Voice PCM WebSocket (direct gateway→backend, bypasses Redis) ===
|
||||||
VOICE_PCM_WS_ENABLED=true # Use direct WS for PCM audio (default: true)
|
VOICE_PCM_WS_ENABLED=true # Use direct WS for PCM audio (default: true)
|
||||||
BACKEND_WS_URL=ws://backend:3000/ws # Backend WebSocket URL for gateway PCM streaming
|
BACKEND_WS_URL=ws://backend:4001/ws # Backend WebSocket URL for gateway PCM streaming
|
||||||
BACKEND_WS_TOKEN= # REQUIRED if VOICE_PCM_WS_ENABLED=true. Internal shared secret
|
BACKEND_WS_TOKEN= # REQUIRED if VOICE_PCM_WS_ENABLED=true. Internal shared secret
|
||||||
|
|
||||||
# === Attachments ===
|
# === Attachments ===
|
||||||
@@ -90,7 +90,7 @@ AI_LLM_MODEL=text # LLM text model name (default: text)
|
|||||||
# AI_LLM_VISION_MODEL= # Vision model for image analysis (falls back to AI_LLM_MODEL)
|
# AI_LLM_VISION_MODEL= # Vision model for image analysis (falls back to AI_LLM_MODEL)
|
||||||
# AI_LLM_EMBEDDING_MODEL= # Embedding model for semantic moderation cache (optional; enables near-duplicate text reuse to save LLM calls)
|
# AI_LLM_EMBEDDING_MODEL= # Embedding model for semantic moderation cache (optional; enables near-duplicate text reuse to save LLM calls)
|
||||||
# AI_LLM_EMBEDDING_MIN_SIMILARITY=0.97 # Min cosine similarity to reuse a cached verdict (default: 0.97)
|
# AI_LLM_EMBEDDING_MIN_SIMILARITY=0.97 # Min cosine similarity to reuse a cached verdict (default: 0.97)
|
||||||
# QDRANT_URL=http://100.121.180.82:6333/ # Qdrant vector store for embeddings (semantic cache); when set, vectors are stored/searched in Qdrant instead of Postgres
|
QDRANT_URL=http://100.121.180.82:6333 # Qdrant vector store for embeddings (semantic cache); when set, vectors are stored/searched in Qdrant instead of Postgres
|
||||||
# QDRANT_COLLECTION=gmw_text_moderation # Qdrant collection name (default: gmw_text_moderation)
|
# QDRANT_COLLECTION=gmw_text_moderation # Qdrant collection name (default: gmw_text_moderation)
|
||||||
# QDRANT_API_KEY= # Qdrant API key (optional)
|
# QDRANT_API_KEY= # Qdrant API key (optional)
|
||||||
AI_LLM_MAX_CONCURRENT=5 # Max concurrent LLM API calls (default: 5)
|
AI_LLM_MAX_CONCURRENT=5 # Max concurrent LLM API calls (default: 5)
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ services:
|
|||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
WEBSERVER_PORT: 4000
|
WEBSERVER_PORT: 4001
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "-qO-", "http://localhost:4000/api/health"]
|
test: ["CMD", "wget", "-qO-", "http://localhost:4001/api/health"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
start_period: 15s
|
start_period: 15s
|
||||||
|
|||||||
@@ -233,13 +233,13 @@ LOG_LEVEL=info
|
|||||||
DATABASE_URL=postgresql://user:pass@localhost:5432/discord_moderation
|
DATABASE_URL=postgresql://user:pass@localhost:5432/discord_moderation
|
||||||
# OR
|
# OR
|
||||||
DATABASE_HOST=localhost
|
DATABASE_HOST=localhost
|
||||||
DATABASE_PORT=5432
|
DATABASE_PORT=6432
|
||||||
DATABASE_NAME=discord_moderation
|
DATABASE_NAME=discord_moderation
|
||||||
DATABASE_USER=postgres
|
DATABASE_USER=postgres
|
||||||
DATABASE_PASSWORD=secret
|
DATABASE_PASSWORD=secret
|
||||||
|
|
||||||
# Redis (optional, for pub/sub)
|
# Redis (optional, for pub/sub)
|
||||||
REDIS_URL=redis://localhost:6379
|
REDIS_URL=redis://100.121.180.82:6379
|
||||||
|
|
||||||
# Discord
|
# Discord
|
||||||
MONITOR_GUILD_ID=123456789
|
MONITOR_GUILD_ID=123456789
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ export default defineConfig({
|
|||||||
dbCredentials: {
|
dbCredentials: {
|
||||||
url:
|
url:
|
||||||
process.env.DATABASE_URL ||
|
process.env.DATABASE_URL ||
|
||||||
"postgresql://postgres:postgres@localhost:5432/bete",
|
"postgresql://asephs:***@100.121.180.82:6432/dcbot",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export default defineConfig({
|
|||||||
// (DISCORD_TOKEN required) and DB-agnostic pure-function tests.
|
// (DISCORD_TOKEN required) and DB-agnostic pure-function tests.
|
||||||
env: {
|
env: {
|
||||||
DISCORD_TOKEN: "test-discord-token",
|
DISCORD_TOKEN: "test-discord-token",
|
||||||
DATABASE_URL: "postgres://localhost:5432/test",
|
DATABASE_URL: "postgres://localhost:6432/test",
|
||||||
AI_ANALYSIS_ENABLED: "true",
|
AI_ANALYSIS_ENABLED: "true",
|
||||||
AI_LLM_API_KEY: "sk-test",
|
AI_LLM_API_KEY: "sk-test",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Key points:
|
|||||||
## Data flow (match these — do not invent endpoints)
|
## Data flow (match these — do not invent endpoints)
|
||||||
|
|
||||||
```
|
```
|
||||||
Discord → discord-gateway → Redis pub/sub → backend (Express :3001) ←→ frontend
|
Discord → discord-gateway → Redis pub/sub → backend (Express :4001) ←→ frontend
|
||||||
↑ REST /api/* (same-origin)
|
↑ REST /api/* (same-origin)
|
||||||
└ WS /ws (events + PCM binary)
|
└ WS /ws (events + PCM binary)
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -36,6 +36,6 @@ src/
|
|||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
Backend berjalan di port 3001. Frontend mengakses API via `window.location` (same-origin atau proxy).
|
Backend berjalan di port 4001. Frontend mengakses API via `window.location` (same-origin atau proxy).
|
||||||
|
|
||||||
WebSocket terhubung otomatis ke `/ws` di host yang sama.
|
WebSocket terhubung otomatis ke `/ws` di host yang sama.
|
||||||
|
|||||||
+3
-3
@@ -34,7 +34,7 @@ if [ ! -f .env ]; then
|
|||||||
echo "📝 Creating .env file..."
|
echo "📝 Creating .env file..."
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
echo "⚠️ Please update .env with your PostgreSQL connection string"
|
echo "⚠️ Please update .env with your PostgreSQL connection string"
|
||||||
echo " DATABASE_URL=postgresql://user:password@localhost:5432/discord_bot"
|
echo " DATABASE_URL=postgresql://asephs:***@100.121.180.82:6432/dcbot"
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -58,10 +58,10 @@ read -p "Enter database name (default: discord_bot): " DB_NAME
|
|||||||
DB_NAME=${DB_NAME:-discord_bot}
|
DB_NAME=${DB_NAME:-discord_bot}
|
||||||
|
|
||||||
read -p "Enter PostgreSQL host (default: localhost): " PG_HOST
|
read -p "Enter PostgreSQL host (default: localhost): " PG_HOST
|
||||||
PG_HOST=${PG_HOST:-localhost}
|
PG_HOST=${PG_HOST:-100.121.180.82}
|
||||||
|
|
||||||
read -p "Enter PostgreSQL port (default: 5432): " PG_PORT
|
read -p "Enter PostgreSQL port (default: 5432): " PG_PORT
|
||||||
PG_PORT=${PG_PORT:-5432}
|
PG_PORT=${PG_PORT:-6432}
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "🗄️ Creating database..."
|
echo "🗄️ Creating database..."
|
||||||
|
|||||||
Reference in New Issue
Block a user