Files
homelab-optimized/hosts/vms/homelab-vm/fluxer-notes.md
Gitea Mirror Bot a63c410ce3
Some checks failed
Documentation / Deploy to GitHub Pages (push) Has been cancelled
Documentation / Build Docusaurus (push) Has been cancelled
Sanitized mirror from private repository - 2026-04-18 12:12:12 UTC
2026-04-18 12:12:12 +00:00

3.0 KiB

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

Management Commands

# 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