Initial setup: Matrix Synapse + Element Web

- docker-compose.yml with Synapse, PostgreSQL 16, Element Web
- Element config pointing to chat.dshkabatur.ru
- .gitignore for data directories

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Денис Шкабатур
2026-02-11 15:55:19 +03:00
commit 3054c98c5d
3 changed files with 73 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
synapse-data/
postgres-data/
*.log

52
docker-compose.yml Normal file
View File

@@ -0,0 +1,52 @@
version: '2.4'
services:
db:
image: postgres:16-alpine
container_name: matrix-db
restart: unless-stopped
volumes:
- ./postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: synapse
POSTGRES_USER: synapse
POSTGRES_PASSWORD: SynapseDB_2026_secure
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=C --lc-ctype=C"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U synapse"]
interval: 5s
timeout: 5s
retries: 5
networks:
- matrix
synapse:
image: matrixdotorg/synapse:latest
container_name: matrix-synapse
restart: unless-stopped
volumes:
- ./synapse-data:/data
ports:
- "127.0.0.1:8008:8008"
depends_on:
db:
condition: service_healthy
environment:
TZ: Europe/Moscow
networks:
- matrix
element:
image: vectorim/element-web:latest
container_name: matrix-element
restart: unless-stopped
volumes:
- ./element-config.json:/app/config.json:ro
ports:
- "127.0.0.1:3082:80"
networks:
- matrix
networks:
matrix:
driver: bridge

18
element-config.json Normal file
View File

@@ -0,0 +1,18 @@
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://chat.dshkabatur.ru",
"server_name": "chat.dshkabatur.ru"
}
},
"brand": "Dshkabatur Chat",
"default_theme": "dark",
"room_directory": {
"servers": ["chat.dshkabatur.ru"]
},
"show_labs_settings": false,
"default_country_code": "RU",
"setting_defaults": {
"breadcrumbs": true
}
}