From 93934ee468225afaae093434a53e045631207fcd Mon Sep 17 00:00:00 2001 From: y1lm0z Date: Wed, 15 Jul 2026 22:16:33 +0000 Subject: [PATCH] =?UTF-8?q?Dosyalar=C4=B1=20"apps/matrix"=20dizinine=20y?= =?UTF-8?q?=C3=BCkle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/matrix/config.json | 52 +++++++++++++++++++++ apps/matrix/docker-compose.yml | 83 ++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 apps/matrix/config.json create mode 100644 apps/matrix/docker-compose.yml diff --git a/apps/matrix/config.json b/apps/matrix/config.json new file mode 100644 index 0000000..ded0b4d --- /dev/null +++ b/apps/matrix/config.json @@ -0,0 +1,52 @@ +{ + "name": "Matrix Conduit", + "id": "matrix-conduit", + "available": true, + "short_desc": "Hafif, hizli ve federasyon destekli Matrix homeserver.", + "author": "matrix-conduit", + "port": 8448, + "categories": ["social", "network"], + "description": "Conduit, Rust ile yazilmis, dusuk kaynak tuketen bir Matrix homeserver'dir. Element gibi Matrix istemcileriyle uyumludur ve federasyonu destekler.", + "tipi_version": 1, + "version": "0.10.12", + "source": "https://gitlab.com/famedly/conduit", + "website": "https://conduit.rs", + "exposable": true, + "force_expose": true, + "https": true, + "supported_architectures": ["arm64", "amd64"], + "form_fields": [ + { + "type": "boolean", + "label": "Kayit acik olsun mu?", + "hint": "Kapali birakip ilk admin hesabini kaydettikten sonra tekrar kapatman onerilir.", + "required": false, + "default": false, + "env_variable": "ALLOW_REGISTRATION" + }, + { + "type": "boolean", + "label": "Federasyona izin ver", + "hint": "Diger Matrix sunucularindaki kullanicilarla konusabilmek icin acik olmali.", + "required": false, + "default": true, + "env_variable": "ALLOW_FEDERATION" + }, + { + "type": "text", + "label": "Guvenilir sunucular (JSON liste)", + "hint": "Ornek: [\"matrix.org\"]", + "placeholder": "[\"matrix.org\"]", + "required": false, + "default": "[\"matrix.org\"]", + "env_variable": "TRUSTED_SERVERS" + }, + { + "type": "number", + "label": "Maksimum istek boyutu (byte)", + "required": false, + "default": "20000000", + "env_variable": "MAX_REQUEST_SIZE" + } + ] +} diff --git a/apps/matrix/docker-compose.yml b/apps/matrix/docker-compose.yml new file mode 100644 index 0000000..94e3878 --- /dev/null +++ b/apps/matrix/docker-compose.yml @@ -0,0 +1,83 @@ +version: '3.7' + +services: + matrix-conduit: + container_name: matrix-conduit + image: matrixconduit/matrix-conduit:v0.10.12 + environment: + CONDUIT_SERVER_NAME: ${APP_DOMAIN} + CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/ + CONDUIT_DATABASE_BACKEND: rocksdb + CONDUIT_ADDRESS: 0.0.0.0 + CONDUIT_PORT: 6167 + CONDUIT_LOG: ${LOG:-warn,rocket=off,_=off,sled=off} + CONDUIT_MAX_REQUEST_SIZE: ${MAX_REQUEST_SIZE:-20000000} + CONDUIT_ALLOW_REGISTRATION: ${ALLOW_REGISTRATION:-false} + CONDUIT_ALLOW_FEDERATION: ${ALLOW_FEDERATION:-true} + CONDUIT_TRUSTED_SERVERS: ${TRUSTED_SERVERS:-["matrix.org"]} + CONDUIT_ALLOW_CHECK_FOR_UPDATES: false + CONDUIT_TURN_URIS: ${TURN_URIS:-["turn:localhost?transport=udp", "turn:localhost?transport=tcp"]} + CONDUIT_TURN_SECRET: ${TURN_SECRET:-turnsecret} + # KRITIK: bu satir olmadan conduit binary'si diskte bir config + # dosyasi aramaya calisir ve container CrashLoop / "unhealthy" + # durumuna dusebilir. Bos birakinca tum ayarlar yukaridaki + # environment degiskenlerinden okunur. + CONDUIT_CONFIG: '' + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data:/var/lib/matrix-conduit/ + networks: + - tipi_main_network + labels: + traefik.enable: true + traefik.http.middlewares.matrix-conduit-web-redirect.redirectscheme.scheme: https + traefik.http.services.matrix-conduit.loadbalancer.server.port: 6167 + traefik.http.routers.matrix-conduit-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.matrix-conduit-insecure.entrypoints: web + traefik.http.routers.matrix-conduit-insecure.service: matrix-conduit + traefik.http.routers.matrix-conduit-insecure.middlewares: matrix-conduit-web-redirect + traefik.http.routers.matrix-conduit.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.matrix-conduit.entrypoints: websecure + traefik.http.routers.matrix-conduit.service: matrix-conduit + traefik.http.routers.matrix-conduit.tls.certresolver: myresolver + traefik.http.routers.matrix-conduit-local-insecure.rule: Host(`matrix-conduit.${LOCAL_DOMAIN}`) + traefik.http.routers.matrix-conduit-local-insecure.entrypoints: web + traefik.http.routers.matrix-conduit-local-insecure.service: matrix-conduit + traefik.http.routers.matrix-conduit-local-insecure.middlewares: matrix-conduit-web-redirect + traefik.http.routers.matrix-conduit-local.rule: Host(`matrix-conduit.${LOCAL_DOMAIN}`) + traefik.http.routers.matrix-conduit-local.entrypoints: websecure + traefik.http.routers.matrix-conduit-local.service: matrix-conduit + traefik.http.routers.matrix-conduit-local.tls: true + runtipi.managed: true + + matrix-conduit-well-known: + container_name: matrix-conduit-well-known + build: + context: nginx + dockerfile: Dockerfile + environment: + APP_DOMAIN: ${APP_DOMAIN} + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: true + traefik.http.middlewares.matrix-well-knows-web-redirect.redirectscheme.scheme: https + traefik.http.services.matrix-well-knows.loadbalancer.server.port: 80 + traefik.http.routers.matrix-well-knows-insecure.rule: Host(`${APP_DOMAIN}`) && PathPrefix(`/.well-known/matrix`) + traefik.http.routers.matrix-well-knows-insecure.entrypoints: web + traefik.http.routers.matrix-well-knows-insecure.service: matrix-well-knows + traefik.http.routers.matrix-well-knows-insecure.middlewares: matrix-well-knows-web-redirect + traefik.http.routers.matrix-well-knows.rule: Host(`${APP_DOMAIN}`) && PathPrefix(`/.well-known/matrix`) + traefik.http.routers.matrix-well-knows.entrypoints: websecure + traefik.http.routers.matrix-well-knows.service: matrix-well-knows + traefik.http.routers.matrix-well-knows.tls.certresolver: myresolver + traefik.http.routers.matrix-well-knows-local-insecure.rule: Host(`matrix-well-knows.${LOCAL_DOMAIN}`) && PathPrefix(`/.well-known/matrix`) + traefik.http.routers.matrix-well-knows-local-insecure.entrypoints: web + traefik.http.routers.matrix-well-knows-local-insecure.service: matrix-well-knows + traefik.http.routers.matrix-well-knows-local-insecure.middlewares: matrix-well-knows-web-redirect + traefik.http.routers.matrix-well-knows-local.rule: Host(`matrix-well-knows.${LOCAL_DOMAIN}`) && PathPrefix(`/.well-known/matrix`) + traefik.http.routers.matrix-well-knows-local.entrypoints: websecure + traefik.http.routers.matrix-well-knows-local.service: matrix-well-knows + traefik.http.routers.matrix-well-knows-local.tls: true + runtipi.managed: true