From 3492f7b8e42c4ece90a6bcc47214bb8d21243c67 Mon Sep 17 00:00:00 2001 From: y1lm0z <1+y1lm0z@noreply.localhost> Date: Wed, 15 Jul 2026 22:33:21 +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 | 53 ++++++++++++++++++++++++++++++++++ apps/matrix/docker-compose.yml | 53 ++++++++++++++++++++++++++++++++++ 2 files changed, 106 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..6ec59a7 --- /dev/null +++ b/apps/matrix/config.json @@ -0,0 +1,53 @@ +{ + "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.", + "dynamic_config": true, + "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..33dcc11 --- /dev/null +++ b/apps/matrix/docker-compose.yml @@ -0,0 +1,53 @@ +services: + matrix-conduit: + image: matrixconduit/matrix-conduit:v0.10.12 + restart: unless-stopped + 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} + # Bu satir olmadan Conduit diskte config dosyasi aramaya calisir. + - CONDUIT_CONFIG= + volumes: + - ${APP_DATA_DIR}/data:/var/lib/matrix-conduit/ + x-runtipi: + is_main: true + internal_port: 6167 + + matrix-conduit-well-known: + build: + context: nginx + dockerfile: Dockerfile + restart: unless-stopped + environment: + - APP_DOMAIN=${APP_DOMAIN} + labels: + # Ana servis disindaki bu container icin Traefik label'larini + # elle yaziyoruz cunku otomatik routing sadece is_main servise uygulanir. + - "traefik.enable=true" + - "traefik.http.services.{{RUNTIPI_APP_ID}}-wellknown.loadbalancer.server.port=80" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown-insecure.rule=Host(`${APP_DOMAIN}`) && PathPrefix(`/.well-known/matrix`)" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown-insecure.entrypoints=web" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown-insecure.service={{RUNTIPI_APP_ID}}-wellknown" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown-insecure.priority=100" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown.rule=Host(`${APP_DOMAIN}`) && PathPrefix(`/.well-known/matrix`)" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown.entrypoints=websecure" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown.tls.certresolver=myresolver" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown.service={{RUNTIPI_APP_ID}}-wellknown" + - "traefik.http.routers.{{RUNTIPI_APP_ID}}-wellknown.priority=100" + x-runtipi: + # Traefik'in bu container'a ulasabilmesi icin ana ag'a katiyoruz. + add_to_main_network: true + +x-runtipi: + schema_version: 2