Skip to content

zyrakq/commet-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 Commet Stack

Complete Docker-based Commet deployment with SSL certificate management for production and development environments. Commet 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 Commet 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

🌐 Commet

Modular Docker Compose configuration system for Commet client with support for multiple environments. Provides complete Matrix web client deployment with customizable configurations for development and production. Learn more about Commet 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 Commet:

    • Configure Commet client to connect to your Matrix homeserver

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Commet      │────│ Matrix Homeserver│────│    Database     β”‚
β”‚   (Frontend)    β”‚    β”‚ (Synapse/Conduit)β”‚    β”‚(PostgreSQL/    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚ 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

# Commet with port forwarding
cd src/commet/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 (lightweight alternative)
cd src/matrix/conduit/src/conduit/build/forwarding/base/
docker-compose up -d

Production Environment

# Commet with Let's Encrypt SSL
cd src/commet/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 (lightweight alternative)
cd src/matrix/conduit/src/conduit/build/letsencrypt/base/
docker-compose up -d

DevContainer Environment

# Commet in DevContainer
cd src/commet/build/devcontainer/base/
docker-compose up -d

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

# Conduit in DevContainer (lightweight alternative)
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

# Commet logs
docker logs commet

# Matrix homeserver logs
docker logs matrix      # Synapse
docker logs conduit     # 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
  • Commet - Simple and modern Matrix client
  • Synapse - Matrix homeserver implementation
  • Conduit - Lightweight Matrix homeserver written in Rust

About

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

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors