# Matrix Gateway [![Build Status](https://drone.communiquons.org/api/badges/pierre/MatrixGW/status.svg)](https://drone.communiquons.org/pierre/MatrixGW) Project that expose a simple API to make use of Matrix API. It acts as a Matrix client (like Element for example) **Known limitations**: - Supports only a limited subset of Matrix API - Does not support spaces Project written in Rust and TypeScript. Releases are published on Docker Hub. ## Docker image options ```bash docker run --rm -it docker.io/pierre42100/matrix_gateway --help ``` ## Setup dev environment ### Dependencies ``` cd matrixgw_backend mkdir -p storage/maspostgres storage/synapse storage/minio docker compose up ``` To create default account, in another terminal, run the following command: ```bash docker compose --profile create-accounts up -d ``` URLs: * Element: http://localhost:8080/ * Synapse: http://localhost:8448/ * Matrix Authentication Service: http://localhost:8778/ * OpenID configuration: http://127.0.0.1:9001/dex/.well-known/openid-configuration * Minio console: http://localhost:9002/ Auto-created Matrix accounts: * `admin1` : `admin1` * `user1` : `user1` Minio administration credentials: `minioadmin` : `minioadmin` ### Backend ```bash cd matrixgw_backend cargo fmt && cargo clippy && cargo run -- ``` ### Frontend ```bash cd matrixgw_frontend npm install npm run dev ```