_____ ____ _____ __ ____ __ _ ____ __ __
| ____| _ \_ _| | \/ \ \/ / / \ | _ \| \/ |
| _| | |_) || |_____| |\/| |\ /_____/ _ \ | | | | |\/| |
| |___| __/ | |_____| | | |/ \____/ ___ \| |_| | | | |
|_____|_| |_| |__| |_/_/\_\ /_/ \_\____/|_| |_|
Modern administration panel for Matrix Synapse server
Created and maintained by EasyProTech LLC • Developed by Brabus
EPT-MX-ADM is a modern, user-friendly admin panel for Matrix Synapse, replacing outdated tools with a modular, multilingual interface and powerful features.
- 🎯 See It In Action
⚠️ Beta Warning- 🧪 Demo
- 💡 Why I Created This
- 🔥 Why EPT-MX-ADM?
- ✨ Features
- 📸 Screenshots
- 🌍 Multilingual Support
- 🔧 Architecture
- 💻 System Requirements
- ⚡ Performance
- 🛠️ Built With
- 📊 Comparison
- 🚀 Quick Start
- ⚡ Troubleshooting
- 🗺️ Roadmap
- 📝 License
- 🤝 Contributing
- 📞 Support
# Clone, install, run - that's it!
git clone https://github.com/EPTLLC/EPT-MX-ADM.git
cd EPT-MX-ADM
pip3 install -r requirements.txt
python3 app.py
# Open http://localhost:5000
🚧 This is a BETA version (v0.0.1-beta) - Work in Progress!
- 🔨 Many features are still under development
- 🐛 Bugs and issues are expected
- 📝 Documentation may be incomplete
- 🔄 Breaking changes may occur
- ⚡ Use at your own risk in production
This project is being developed in my spare time. There is no support, no explanations, and no guarantees. Use it if you like it — when I have time and inspiration, I'll improve it.
Try EPT-MX-ADM live without installation:
- Demo URL: https://admin.matrix.easypro.tech/
- Username:
qwe
- Password:
qwe
⚠️ This is a public demo instance. Changes are temporary and reset periodically. Do not upload sensitive data.
From the author – Brabus
Matrix is a powerful platform with terrible admin tools:
- Outdated Synapse Admin UI
- CORS errors everywhere
- Hours lost on Nginx config
- Vague, incomplete documentation
Admins waste time fighting tools. So I built one that works:
- Modular
- Multilingual (11 languages)
- Simple, modern UI
- Real dashboards and management tools
Created by EasyProTech LLC — we build tools that solve real problems.
Unlike Synapse Admin, works out of the box. No proxy configs, no CORS headers, no pain.
See changes instantly. No page refreshes needed.
Select multiple users/rooms and manage them in one click.
Built-in theme switcher. Your eyes will thank you.
Manage your server from your phone. Yes, really.
- 👥 User Management (fully implemented)
- Create, edit, deactivate users
- Search and filter capabilities
- CSV import/export
- Admin rights management
- 🏠 Room Management (implemented)
- Room listing with advanced filters
- Room deletion and blocking
- Member management
- Search by name/ID
- 📁 Media Management (implemented)
- User media browser
- Quarantine/unquarantine files
- Storage analytics
- 📊 Dashboard (implemented)
- Real-time server statistics
- User growth charts
- System health monitoring
- 🔐 Secure Authorization (working)
- Matrix admin account authentication
- Session management
- 🌍 Multilingual (complete)
- 11 languages supported
- Instant language switching
- 📱 Responsive Design (implemented)
- Mobile-friendly interface
- Touch-optimized controls
- 🌐 Space Management (hierarchy view)
- 📈 Advanced Analytics
- 🌐 Federation Management
- 📋 Logs & Audit
- ⚙️ UI-based Configuration
- 🚨 Alerts & Monitoring
Clean login interface • Language switcher • Dark/Light theme toggle
Real-time server stats • User growth chart • Quick actions
11 languages • Instant switching • Flag icons for easy recognition
Search & filter • Batch operations • User profile cards
Detailed user info • Account settings • Creation date
Room list • Search by name/ID • Quick moderation tools
Media browser • Quarantine tools • Storage analytics
Available Languages: EN, RU, DE, FR, IT, ES, TR, ZH, JA, AR, HE
- Language switcher on login
- Flags for visual aid
- Localization includes interface, errors, tooltips, validation
Folder structure: ept-mx-adm/
app.py
– main Flask appgunicorn.conf.py
,requirements.txt
,config/settings.py
blueprints/
– routes (auth, users, rooms, spaces, media, api)modules/
– core logic (user management, room management, etc.)utils/
– helpers, logging, Matrix API client, i18nlocales/
– translations (11 JSON files)static/
,templates/
,logs/
,screen/
- RAM: 512MB minimum (1GB recommended)
- Disk: 100MB for app + logs
- CPU: Any modern processor
- OS: Linux, macOS, Windows (with WSL)
- Network: Access to Matrix homeserver
- Python: 3.10+ required
- Handles 10,000+ users without breaking a sweat
- Lazy loading for large datasets
- Caching for repeated API calls
- Average response time: <100ms
- Efficient memory usage
- Flask - Lightweight web framework
- Bootstrap 5 - Modern, responsive UI
- Chart.js - Beautiful analytics charts
- Vanilla JavaScript - No jQuery dependency
- Matrix Admin API - Direct Synapse integration
- Gunicorn - Production WSGI server
Feature | EPT-MX-ADM | Synapse Admin | Element Web |
---|---|---|---|
No CORS issues | ✅ | ❌ | ❌ |
11 Languages | ✅ | ❌ | ✅ |
Dark Mode | ✅ | ❌ | ✅ |
Mobile UI | ✅ | ❌ | ✅ |
User Management | ✅ | ✅ | ❌ |
Room Management | ✅ | ✅ | ❌ |
Media Management | ✅ | ❌ | ❌ |
Real Analytics | ✅ | ❌ | ❌ |
Easy Setup | ✅ | ❌ | ❌ |
EPT-MX-ADM includes comprehensive testing infrastructure:
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
make test # All tests
make test-unit # Unit tests only
make test-coverage # With coverage report
# Code quality
make lint # Linting
make format # Code formatting
make ci # All CI checks
Testing Stack:
- pytest + coverage reporting
- GitHub Actions CI/CD
- Code quality tools (flake8, black, mypy)
- Security scanning (bandit)
See TESTING.md for detailed testing guide.
/opt/ept-mx-adm/
/var/www/matrix-admin/
/home/matrix/admin/
Permissions:
- Separate user (e.g.,
matrix-admin
) - Folders 755, files 644
- Don't run as root
sudo useradd -r -s /bin/bash -d /opt/ept-mx-adm matrix-admin
sudo mkdir -p /opt/ept-mx-adm
sudo chown matrix-admin:matrix-admin /opt/ept-mx-adm
sudo -u matrix-admin bash
cd /opt/ept-mx-adm
git clone https://github.com/EPTLLC/EPT-MX-ADM.git .
- Python 3.10+
- Matrix Synapse with Admin API enabled
- Admin Matrix account
pip3 install -r requirements.txt && \
mkdir -p static/vendor/{bootstrap/{css,js},bootstrap-icons/fonts,chartjs} && \
curl -o static/vendor/bootstrap/css/bootstrap.min.css https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css && \
curl -o static/vendor/bootstrap/js/bootstrap.bundle.min.js https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js && \
curl -o static/vendor/bootstrap-icons/bootstrap-icons.css https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css && \
curl -o static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/fonts/bootstrap-icons.woff && \
curl -o static/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/fonts/bootstrap-icons.woff2 && \
curl -o static/vendor/chartjs/chart.min.js https://cdn.jsdelivr.net/npm/chart.js && \
sed -i 's|https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/fonts/|../bootstrap-icons/fonts/|g' static/vendor/bootstrap-icons/bootstrap-icons.css && \
echo "✅ EPT-MX-ADM ready to run!"
For offline install, manually download and place assets in
static/vendor/
Edit config/settings.py
:
SYNAPSE_URL = "https://your-domain.com"
DEFAULT_LOCALE = "en"
python3 app.py
# or in background:
nohup python3 app.py > logs/app.log 2>&1 &
# or with Gunicorn:
gunicorn -w 4 -b 0.0.0.0:5000 app:app
Use a reverse proxy (e.g., Nginx + HTTPS).
Can't login?
→ Check you're using full Matrix ID: @username:domain.com
Empty dashboard? → Verify your account has admin privileges
Connection refused?
→ Check SYNAPSE_URL
in settings matches your setup
Rooms not loading? → Ensure Matrix Admin API is enabled in Synapse config
Media files not showing? → Check Synapse media repository configuration
- Room deletion functionality
- User management improvements
- Media management
- Testing infrastructure (pytest, CI/CD)
- Code quality tools (linting, formatting)
- Advanced room management (permissions, settings)
- Space hierarchy view
- Bulk user operations
- Federation management
- Advanced analytics
- Export/import tools
- Plugin system foundation
- Stable release
- Complete API documentation
- Performance optimizations
- Security audit
Licensed under the MIT License by EasyProTech LLC — created by Brabus. No support is provided. Use at your own risk.
Pull Requests welcome. See CONTRIBUTING.md
.
I do not provide support. I do not consult — not for free, not for money, not in any form.
Please don't ask for help, fixes, or explanations — this project is released as-is.
If someone wants to help with development — contributions are welcome. But there are no obligations from my side whatsoever.