--- name: element_matrix_chat lang: bash domain: infra version: 0.1.0 description: "Stack completo Matrix autohosteado con Docker Compose: Synapse, Element Web, MAS, LiveKit, PostgreSQL, Synapse Admin." tags: [matrix, element, synapse, docker, selfhosted, chat, livekit, service] uses_functions: [] uses_types: [] framework: "docker-compose" entry_point: "docker-compose.yml" dir_path: "projects/element_agents/apps/element_matrix_chat" repo_url: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/egutierrez/element_matrix_chat.git" service: port: 8008 health_endpoint: /_matrix/client/versions health_timeout_s: 5 systemd_unit: null systemd_scope: null restart_policy: always runtime: docker-compose pc_targets: - organic-machine.com is_local_only: false --- ## Deploy - **VPS:** organic-machine.com (SSH alias: organic-machine.com) - **Remote path:** /home/ubuntu/CodeProyects/element_matrix_chat - **Deploy:** `docker-compose up -d` (+ `docker-compose -f docker-compose.livekit.yml up -d`) - **Setup:** `./scripts/setup.sh` - **Puertos:** Element 8081, Synapse Admin 8082, MAS 8083, LiveKit 7880-7882 - **Config:** .env + configs/homeserver.yaml.template + element-config.json + mas/config.yaml ## Notas Stack de 10+ containers Docker: - **Synapse** — Homeserver Matrix (Python) - **Element Web** — Cliente web React - **MAS** — Matrix Authentication Service (OIDC/OAuth) - **LiveKit** — SFU para videollamadas (Element Call) - **PostgreSQL x2** — BDs para Synapse y MAS - **Synapse Admin** — Panel de administracion - **Nginx** — Reverse proxy para .well-known - **LiveKit JWT** — Generador de tokens para RTC Red Docker: matrix_net (10.10.10.0/24), gestionada externamente. Coolify maneja el proxy principal (puertos 80/443). ## Capability growth log Una linea por bump SemVer. Bump-type segun `.claude/commands/version.md`: - `major`: breaking observable (CLI args, schema BBDD propia, formato wire). - `minor`: feature aditiva (nuevo panel, endpoint, opcion). - `patch`: bugfix sin cambio observable. - v0.1.0 (2026-05-18) — baseline.