Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 FluffyChat Stack

Complete Docker-based FluffyChat deployment with SSL certificate management for production and development environments. FluffyChat is a simple and modern Matrix client that provides a clean alternative to Element with fewer dependencies and a streamlined user experience.

🧩 Components

πŸ” SSL Automation

Automatic SSL certificate management from Let's Encrypt for production deployments. Provides seamless HTTPS integration for Docker containers using nginx-proxy and acme-companion. Learn more about Let's Encrypt Manager configuration.

Local domain stack with trusted self-signed certificates for virtual network deployments. Includes private CA management and local DNS resolution for development environments. Learn more about Step CA Manager configuration.

πŸ’¬ Matrix Services

Matrix homeserver implementation providing the backend infrastructure for FluffyChat client. Includes PostgreSQL backend and multiple deployment configurations. Learn more about Matrix Synapse configuration.

Lightweight Rust-based Matrix homeserver with minimal resource usage and RocksDB backend. Provides complete Matrix federation support with OIDC integration capabilities and modular deployment configurations. Learn more about Conduit configuration.

🌐 Services

🌐 FluffyChat

Modular Docker Compose configuration system for FluffyChat client with support for multiple environments. Provides complete Matrix web client deployment with customizable configurations for development and production. Learn more about FluffyChat configuration.

πŸš€ Quick Start

Each component has its own README with detailed setup instructions. Choose the certificate management solution that fits your deployment scenario.

Basic Setup

  1. Choose SSL Management:

    • Production: Use Let's Encrypt Manager
    • Development: Use Step CA Manager
  2. Deploy Matrix Backend:

    • Set up Synapse homeserver (full-featured, PostgreSQL-based)
    • Or set up Conduit homeserver (lightweight, Rust-based)
  3. Deploy FluffyChat:

    • Configure FluffyChat client to connect to your Matrix homeserver

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   FluffyChat    │────│  Matrix Server  │────│    Database     β”‚
β”‚   (Frontend)    β”‚    β”‚ (Synapse/       β”‚    β”‚ (PostgreSQL/    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  Conduit)       β”‚    β”‚  RocksDB)       β”‚
         β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  SSL Manager    β”‚
β”‚ (Let's Encrypt/ β”‚
β”‚  Step CA)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‹ Requirements

  • Docker & Docker Compose
  • Domain name (for production deployments)
  • Email address (for Let's Encrypt)
  • yq tool for configuration building

πŸ”§ Configuration

All services use modular Docker Compose configurations with:

  • Base components: Core service definitions
  • Environment components: Development, production, SSL configurations
  • Build system: Automatic generation of deployment combinations

🌍 Deployment Scenarios

Development Environment

# FluffyChat with port forwarding
cd src/fluffychat/build/forwarding/base/
docker-compose up -d

# Synapse with port forwarding
cd src/matrix/synapse/build/forwarding/base/
docker-compose up -d

# Conduit with port forwarding
cd src/matrix/conduit/src/conduit/build/forwarding/base/
docker-compose up -d

Production Environment

# FluffyChat with Let's Encrypt SSL
cd src/fluffychat/build/letsencrypt/base/
docker-compose up -d

# Synapse with Let's Encrypt SSL
cd src/matrix/synapse/build/letsencrypt/base/
docker-compose up -d

# Conduit with Let's Encrypt SSL
cd src/matrix/conduit/src/conduit/build/letsencrypt/base/
docker-compose up -d

DevContainer Environment

# FluffyChat in DevContainer
cd src/fluffychat/build/devcontainer/base/
docker-compose up -d

# Synapse in DevContainer
cd src/matrix/synapse/build/devcontainer/base/
docker-compose up -d

# Conduit in DevContainer
cd src/matrix/conduit/src/conduit/build/devcontainer/base/
docker-compose up -d

πŸ” Security Features

  • SSL/TLS Encryption: Automatic certificate management
  • Network Isolation: Docker network segmentation
  • Secret Management: Environment-based configuration
  • Access Control: Matrix-based permissions

πŸ†˜ Troubleshooting

Common Issues

  • SSL Certificate Issues: Check Let's Encrypt/Step CA configuration
  • Network Connectivity: Ensure proper Docker network configuration
  • Database Connection: Check PostgreSQL connectivity for Synapse

Logs

# FluffyChat logs
docker logs fluffychat

# Synapse logs
docker logs matrix

# Conduit logs
docker logs conduit

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test configurations
  5. Submit a pull request

πŸ“„ License

This project is dual-licensed under:

πŸ”— Related Projects

  • Matrix.org - Open network for secure, decentralized communication
  • FluffyChat - Simple and modern Matrix client
  • Synapse - Matrix homeserver implementation
  • Conduit - Lightweight Matrix homeserver written in Rust

About

πŸš€ Complete Docker stack for FluffyChat Matrix messenger - ready-to-deploy containerized solution πŸ’¬βœ¨

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors