# 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