init
This commit is contained in:
commit
d7ca8092a1
7 changed files with 279 additions and 0 deletions
5
README.md
Normal file
5
README.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Matrix/Synapse configuration
|
||||
|
||||
Everything (except for docker-compose.yaml) goes into the data-volume of the synapse installation.
|
||||
|
||||
*This is work in progress a.k.a. defunct!*
|
14
client.yaml
Normal file
14
client.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
worker_app: "synapse.app.generic_worker"
|
||||
worker_name: "worker_client"
|
||||
|
||||
worker_replication_host: "synapse"
|
||||
worker_replication_http_port: 9093
|
||||
|
||||
worker_listeners:
|
||||
- type: "http"
|
||||
port: 8083
|
||||
resources:
|
||||
- names:
|
||||
- "client"
|
||||
|
||||
worker_log_config: "/data/zknt.org.log.config"
|
150
docker-compose.yaml
Normal file
150
docker-compose.yaml
Normal file
|
@ -0,0 +1,150 @@
|
|||
---
|
||||
version: '2.1'
|
||||
|
||||
networks:
|
||||
dmz:
|
||||
# defined by traefik service
|
||||
external: true
|
||||
back: {}
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: "postgres:11"
|
||||
restart: "unless-stopped"
|
||||
volumes:
|
||||
- "dbdata:/var/lib/postgresql/data"
|
||||
environment:
|
||||
POSTGRES_PASSWORD: "hunter2"
|
||||
POSTGRES_USER: "synapse"
|
||||
POSTGRES_INITDB_ARGS: "--encoding='UTF8' --lc-collate='C' --lc-ctype='C'"
|
||||
networks:
|
||||
back: {}
|
||||
|
||||
redis:
|
||||
image: "reg.zknt.org/zknt/redis"
|
||||
restart: "unless-stopped"
|
||||
volumes:
|
||||
- "redisdata:/var/lib/redis"
|
||||
networks:
|
||||
back: {}
|
||||
|
||||
federation-sender:
|
||||
image: "matrixdotorg/synapse:latest"
|
||||
restart: "unless-stopped"
|
||||
healthcheck:
|
||||
disable: true
|
||||
volumes:
|
||||
- "data:/data"
|
||||
command: "run -m synapse.app.federation_sender --config-path=/data/homeserver.yaml --config-path=/data/federation-sender.yaml"
|
||||
networks:
|
||||
back: {}
|
||||
|
||||
federation-receiver:
|
||||
image: "matrixdotorg/synapse:latest"
|
||||
restart: "unless-stopped"
|
||||
healthcheck:
|
||||
disable: true
|
||||
volumes:
|
||||
- "data:/data"
|
||||
command: "run -m synapse.app.generic_worker --config-path=/data/homeserver.yaml --config-path=/data/federation-receiver.yaml"
|
||||
networks:
|
||||
back: {}
|
||||
dmz: {}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=dmz"
|
||||
|
||||
- "traefik.http.routers.matrix-federation.rule=Host(`matrix.zknt.org`) && PathPrefix(
|
||||
`/_matrix/federation`,
|
||||
`/_matrix/key`
|
||||
)"
|
||||
- "traefik.http.routers.matrix-federation.tls=true"
|
||||
- "traefik.http.services.matrix-federation.loadbalancer.server.port=8084"
|
||||
- "traefik.http.routers.matrix-federation.service=matrix-federation"
|
||||
|
||||
federation-client:
|
||||
image: "matrixdotorg/synapse:latest"
|
||||
restart: "unless-stopped"
|
||||
healthcheck:
|
||||
disable: true
|
||||
volumes:
|
||||
- "data:/data"
|
||||
command: "run -m synapse.app.generic_worker --config-path=/data/homeserver.yaml --config-path=/data/client.yaml"
|
||||
networks:
|
||||
back: {}
|
||||
dmz: {}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=dmz"
|
||||
|
||||
- "traefik.http.routers.matrix-client.rule=Host(`matrix.zknt.org`) && PathPrefix(
|
||||
`/_matrix/client/(v2_alpha|r0)/sync`,
|
||||
`/_matrix/client/(api/v1|v2_alpha|r0)/events`,
|
||||
`/_matrix/client/(api/v1|r0)/initialSync`,
|
||||
`/_matrix/client/(api/v1|r0)/rooms/[^/]+/initialSync`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/publicRooms`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/joined_members`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/context/.*`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/members`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/account/3pid`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/devices`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/keys/query`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/keys/changes`,
|
||||
`/_matrix/client/versions`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/voip/turnServer`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/joined_groups`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/publicised_groups`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/publicised_groups/`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/event/`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/joined_rooms`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/search`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/login`,
|
||||
`/_matrix/client/(r0|unstable)/register`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/redact`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/send`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state/`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/join/`,
|
||||
`/_matrix/client/(api/v1|r0|unstable)/profile/`
|
||||
)"
|
||||
- "traefik.http.routers.matrix-client.tls=true"
|
||||
- "traefik.http.services.matrix-client.loadbalancer.server.port=8083"
|
||||
- "traefik.http.routers.matrix-client.service=matrix-client"
|
||||
|
||||
synapse:
|
||||
image: "matrixdotorg/synapse:latest"
|
||||
restart: "unless-stopped"
|
||||
volumes:
|
||||
- "data:/data"
|
||||
environment:
|
||||
SYNAPSE_SERVER_NAME: "zknt.org"
|
||||
SYNAPSE_REPORT_STATS: "no"
|
||||
networks:
|
||||
dmz: {}
|
||||
back: {}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=dmz"
|
||||
|
||||
- "traefik.http.routers.matrix.rule=Host(`matrix.zknt.org`)"
|
||||
- "traefik.http.routers.matrix.tls=true"
|
||||
- "traefik.http.routers.matrix.tls.certresolver=leprod"
|
||||
- "traefik.http.services.matrix.loadbalancer.server.port=8008"
|
||||
- "traefik.http.routers.matrix.service=matrix"
|
||||
|
||||
- "traefik.http.routers.matrix-admin.rule=Host(`matrix.zknt.org`) && PathPrefix(`/_synapse/admin/`)"
|
||||
- "traefik.http.routers.matrix-admin.tls=true"
|
||||
- "traefik.http.middlewares.matrix-admin-allow.ipwhitelist.sourcerange=172.27.0.0/16"
|
||||
- "traefik.http.routers.matrix-admin.middlewares=matrix-admin-allow@docker"
|
||||
|
||||
volumes:
|
||||
data:
|
||||
labels:
|
||||
org.zknt.backup: true
|
||||
dbdata:
|
||||
labels:
|
||||
org.zknt.backup: true
|
||||
redisdata:
|
||||
labels:
|
||||
org.zknt.backup: true
|
14
federation-receiver.yaml
Normal file
14
federation-receiver.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
worker_app: "synapse.app.generic_worker"
|
||||
worker_name: "federation_worker"
|
||||
|
||||
worker_replication_host: "synapse"
|
||||
worker_replication_http_port: 9093
|
||||
|
||||
worker_listeners:
|
||||
- type: "http"
|
||||
port: 8084
|
||||
resources:
|
||||
- names:
|
||||
- "federation"
|
||||
|
||||
worker_log_config: "/data/zknt.org.log.config"
|
5
federation-sender.yaml
Normal file
5
federation-sender.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
worker_app: "synapse.app.federation_sender"
|
||||
worker_name: "federation_sender"
|
||||
worker_replication_host: "synapse"
|
||||
worker_replication_http_port: 9093
|
||||
worker_log_config: "/data/zknt.org.log.config"
|
69
homeserver.yaml
Normal file
69
homeserver.yaml
Normal file
|
@ -0,0 +1,69 @@
|
|||
server_name: "zknt.org"
|
||||
signing_key_path: "/data/zknt.org.signing.key"
|
||||
registration_shared_secret: "hunter2"
|
||||
macaroon_secret_key: "hunter2"
|
||||
media_store_path: "/data/media_store"
|
||||
public_baseurl: "https://matrix.zknt.org"
|
||||
admin_contact: "mailto:a@b.c"
|
||||
log_config: "/data/zknt.org.log.config"
|
||||
|
||||
presence:
|
||||
enabled: false
|
||||
enable_metrics: false
|
||||
report_stats: false
|
||||
supporess_key_server_warning: true
|
||||
max_upload_size: "50M"
|
||||
|
||||
trusted_key_servers:
|
||||
- server_name: "matrix.org"
|
||||
suppress_key_server_warning: true
|
||||
|
||||
listeners:
|
||||
- port: 8008
|
||||
tls: false
|
||||
type: "http"
|
||||
x_forward: true
|
||||
bind_addresses:
|
||||
- "0.0.0.0"
|
||||
resources:
|
||||
- names:
|
||||
- "client"
|
||||
- "federation"
|
||||
compress: false
|
||||
|
||||
- port: 9093
|
||||
bind_addresses:
|
||||
- "0.0.0.0"
|
||||
type: "http"
|
||||
resources:
|
||||
- names:
|
||||
- "replication"
|
||||
|
||||
database:
|
||||
name: "psycopg2"
|
||||
txn_limit: 10000
|
||||
args:
|
||||
user: "synapse"
|
||||
password: "hunter2"
|
||||
database: "synapse"
|
||||
host: "postgres"
|
||||
port: 5432
|
||||
cp_min: 5
|
||||
cp_max: 10
|
||||
|
||||
email:
|
||||
smtp_host: "172.27.32.80"
|
||||
smtp_port: 25
|
||||
enable_tls: false
|
||||
notif_from: "Your Friendly %(app)s homeserver <a@b.c>"
|
||||
app_name: "ZKNT"
|
||||
enable_notifs: true
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
host: "redis"
|
||||
port: 6379
|
||||
|
||||
send_federation: false
|
||||
federation_sender_instances:
|
||||
- "federation_sender"
|
22
zknt.org.log.config
Normal file
22
zknt.org.log.config
Normal file
|
@ -0,0 +1,22 @@
|
|||
version: 1
|
||||
|
||||
formatters:
|
||||
precise:
|
||||
format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
|
||||
|
||||
handlers:
|
||||
console:
|
||||
class: logging.StreamHandler
|
||||
formatter: precise
|
||||
|
||||
loggers:
|
||||
synapse.storage.SQL:
|
||||
# beware: increasing this to DEBUG will make synapse log sensitive
|
||||
# information such as access tokens.
|
||||
level: WARNING
|
||||
|
||||
root:
|
||||
level: WARNING
|
||||
handlers: [console]
|
||||
|
||||
disable_existing_loggers: false
|
Loading…
Reference in a new issue