84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
# Fluxer Chat Server Deployment
|
|
# Domain: st.vish.gg
|
|
# Replaces: Stoat Chat
|
|
# Status: ✅ DEPLOYED SUCCESSFULLY & CAPTCHA ISSUE RESOLVED
|
|
|
|
## Deployment Summary
|
|
- **Date**: 2026-02-15
|
|
- **Domain**: st.vish.gg (Cloudflare DNS grey cloud)
|
|
- **Location**: /root/fluxer
|
|
- **Replaced**: Stoat Chat (services stopped and removed)
|
|
- **Status**: Fully operational with user registration working
|
|
|
|
## Architecture
|
|
Fluxer uses a multi-container architecture with the following services:
|
|
- **caddy**: Frontend web server serving the React app (port 8088)
|
|
- **gateway**: WebSocket gateway for real-time communication
|
|
- **api**: REST API backend (internal port 8080)
|
|
- **postgres**: Primary database
|
|
- **redis**: Caching and session storage
|
|
- **cassandra**: Message storage
|
|
- **minio**: File storage (S3-compatible)
|
|
- **meilisearch**: Search engine
|
|
- **livekit**: Voice/video calling (not configured)
|
|
- **worker**: Background job processing
|
|
- **media**: Media processing service
|
|
- **clamav**: Antivirus scanning
|
|
- **metrics**: Monitoring and metrics
|
|
|
|
## Network Configuration
|
|
- **External Access**: nginx reverse proxy → Caddy (port 8088) → API (port 8080)
|
|
- **Nginx Config**: /etc/nginx/sites-available/fluxer
|
|
- **SSL**: Handled by nginx with existing certificates
|
|
|
|
## Issues Resolved
|
|
### 1. Asset Loading (Fixed)
|
|
- **Problem**: Frontend was trying to load assets from external CDN
|
|
- **Solution**: Modified build configuration to use local assets
|
|
|
|
### 2. Captcha Verification (Fixed)
|
|
- **Problem**: "verify human" captcha not loading, preventing account creation
|
|
- **Root Cause**: Using test Turnstile keys causing 400 errors on registration
|
|
- **Solution**: Disabled captcha by setting `CAPTCHA_ENABLED=false` in `/root/fluxer/dev/.env`
|
|
- **Result**: User registration now works without captcha requirement
|
|
|
|
## Configuration Files
|
|
- **Main Config**: /root/fluxer/dev/compose.yaml
|
|
- **Environment**: /root/fluxer/dev/.env
|
|
- **Nginx Config**: /etc/nginx/sites-available/fluxer
|
|
|
|
## Key Environment Variables
|
|
```
|
|
CAPTCHA_ENABLED=false
|
|
CAPTCHA_PRIMARY_PROVIDER=turnstile
|
|
TURNSTILE_SITE_KEY=1x00000000000000000000AA (test key)
|
|
TURNSTILE_SECRET_KEY=1x0000000000000000000000000000000AA (test key)
|
|
```
|
|
|
|
## Verification
|
|
- **API Health**: https://st.vish.gg/api/instance ✅
|
|
- **Frontend**: https://st.vish.gg/ ✅
|
|
- **Registration**: Working without captcha ✅
|
|
- **Test User Created**: ID 1472533637105737729 ✅
|
|
|
|
## Management Commands
|
|
```bash
|
|
# Start services
|
|
cd /root/fluxer && docker compose -f dev/compose.yaml up -d
|
|
|
|
# Stop services
|
|
cd /root/fluxer && docker compose -f dev/compose.yaml down
|
|
|
|
# View logs
|
|
cd /root/fluxer && docker compose -f dev/compose.yaml logs [service_name]
|
|
|
|
# Restart API only
|
|
cd /root/fluxer && docker compose -f dev/compose.yaml restart api
|
|
```
|
|
|
|
## Notes
|
|
- Captcha can be re-enabled later by setting `CAPTCHA_ENABLED=true` and configuring proper Turnstile keys
|
|
- Voice/video calling requires LiveKit configuration (currently disabled)
|
|
- All data is persisted in Docker volumes
|
|
- Service runs in development mode for easier debugging
|