Complete Docker-based Element Web deployment with SSL certificate management and identity integration for production and development environments.
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.
Enterprise-grade identity and access management solution. Provides authentication, authorization, and user management for secure application access. Learn more about Keycloak configuration.
For Element integration, see: Keycloak OIDC Integration
Modern identity and access management server with comprehensive authentication capabilities. Provides secure identity management with modular configuration system and multiple deployment modes. Learn more about Kanidm configuration.
Matrix homeserver implementation providing the backend infrastructure for Element Web client. Includes PostgreSQL backend, OIDC integration, and multiple deployment configurations. Learn more about Matrix Synapse configuration.
π Element Web
Modular Docker Compose configuration system for Element Web client with support for multiple environments and OIDC integration capabilities. Provides complete Matrix web client deployment with customizable configurations for development and production. Learn more about Element Web configuration.
Each component has its own README with detailed setup instructions. Choose the certificate management solution and identity provider that fits your deployment scenario.
-
Choose SSL Management:
- Production: Use Let's Encrypt Manager
- Development: Use Step CA Manager
-
Configure Identity (Optional):
- Enterprise: Use Keycloak
- Modern: Use Kanidm
-
Deploy Matrix Backend:
- Set up Synapse homeserver
-
Deploy Element Web:
- Configure Element client to connect to your Matrix homeserver
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Element Web ββββββ Matrix Synapse ββββββ PostgreSQL β
β (Frontend) β β (Homeserver) β β (Database) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β
β β
βββββββββββββββββββ βββββββββββββββββββ
β Identity Server β β SSL Manager β
β (Keycloak/ β β (Let's Encrypt/ β
β Kanidm) β β Step CA) β
βββββββββββββββββββ βββββββββββββββββββ
- Docker & Docker Compose
- Domain name (for production deployments)
- Email address (for Let's Encrypt)
yq
tool for configuration building
All services use modular Docker Compose configurations with:
- Base components: Core service definitions
- Environment components: Development, production, SSL configurations
- Extension components: OIDC, identity integration, additional features
- Build system: Automatic generation of deployment combinations
# Element with port forwarding
cd src/element/build/forwarding/base/
docker-compose up -d
# Synapse with port forwarding
cd src/matrix/synapse/build/forwarding/base/
docker-compose up -d
# Element with Let's Encrypt SSL
cd src/element/build/letsencrypt/base/
docker-compose up -d
# Synapse with Let's Encrypt SSL and OIDC
cd src/matrix/synapse/build/letsencrypt/oidc/
docker-compose up -d
# Element in DevContainer
cd src/element/build/devcontainer/base/
docker-compose up -d
# Synapse in DevContainer with OIDC
cd src/matrix/synapse/build/devcontainer/oidc/
docker-compose up -d
- SSL/TLS Encryption: Automatic certificate management
- Identity Integration: OIDC/SAML authentication
- Network Isolation: Docker network segmentation
- Secret Management: Environment-based configuration
- Access Control: Role-based permissions
- SSL Certificate Issues: Check Let's Encrypt/Step CA configuration
- Identity Integration: Verify OIDC provider settings
- Network Connectivity: Ensure proper Docker network configuration
- Database Connection: Check PostgreSQL connectivity for Synapse
# Element logs
docker logs element
# Synapse logs
docker logs matrix
# Identity provider logs
docker logs keycloak # or kanidm
- Fork the repository
- Create a feature branch
- Make your changes
- Test configurations
- Submit a pull request
This project is dual-licensed under:
- Matrix.org - Open network for secure, decentralized communication
- Element.io - Secure collaboration and messaging
- Synapse - Matrix homeserver implementation
- Keycloak - Identity and access management
- Kanidm - Modern identity management