Files
homelab-optimized/docs/services/fluxer-setup.md
Gitea Mirror Bot 37ee54f6e9
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-19 09:37:42 UTC
2026-04-19 09:37:42 +00:00

2.8 KiB

Fluxer Chat Server Setup

Overview

Fluxer is a modern, Discord-like messaging platform deployed on st.vish.gg, replacing the previous Stoat Chat installation. It runs as a unified server container on the Seattle VM.

Quick Reference

Property Value
Domain st.vish.gg
Host Seattle VM (YOUR_WAN_IP)
Repository https://github.com/fluxerapp/fluxer
Branch refactor
Local Path /root/fluxer
Compose Files compose.yaml + compose.override.yaml
Nginx Config /etc/nginx/sites-available/fluxer
SSL Cert /etc/nginx/ssl/st.vish.gg.{crt,key} (wildcard, expires May 2026)

Architecture

Unified Server Model

Fluxer runs as a single fluxer-server container that bundles:

  • Frontend app, REST API, WebSocket gateway, admin panel, media proxy, and S3 storage

Supporting Services

Service Purpose Image
valkey Cache/sessions (Redis-compatible) valkey/valkey:8.0.6-alpine
meilisearch Full-text search getmeili/meilisearch:v1.14
elasticsearch Alternative search elasticsearch:8.19.11
livekit Voice/video calls livekit/livekit-server:v1.9.11
nats-core Message broker nats:2-alpine
nats-jetstream Persistent streaming nats:2-alpine

Network Configuration

  • Fluxer server: 127.0.0.1:8088 (only accessible via nginx)
  • Nginx: Ports 80/443 on the host, terminates SSL
  • Subdomains: api, events, files, proxy, voice — all routed to fluxer_server on different path prefixes

Initial Setup

1. Clone Repository

cd /root
git clone https://github.com/fluxerapp/fluxer.git
cd fluxer
git checkout refactor

2. Configure

# Edit the application config
vim config/config.json

# Set base domain, S3 credentials, etc.

3. Build and Deploy

MEILI_MASTER_KEY=<your-key> docker compose build fluxer_server
MEILI_MASTER_KEY=<your-key> docker compose up -d

4. Verify

curl -fsS http://127.0.0.1:8088/_health
# Should return JSON with all services healthy

Health Check

The /_health endpoint returns status for all internal services:

{
  "status": "healthy",
  "services": {
    "kv": {"status": "healthy"},
    "s3": {"status": "healthy"},
    "jetstream": {"status": "healthy"},
    "mediaProxy": {"status": "healthy"},
    "admin": {"status": "healthy"},
    "api": {"status": "healthy"},
    "app": {"status": "healthy"}
  }
}

See Also


Last Updated: April 7, 2026 Status: Production Running