Move dev/ things to development
This commit is contained in:
		
					parent
					
						
							
								79020115f1
							
						
					
				
			
			
				commit
				
					
						e3923b28b8
					
				
			
		
					 72 changed files with 0 additions and 0 deletions
				
			
		
							
								
								
									
										26
									
								
								development/coturn/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								development/coturn/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-09-01 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* coturn: https://hub.docker.com/r/coturn/coturn/tags
 | 
			
		||||
 | 
			
		||||
### HOSTNAME for turnserver
 | 
			
		||||
 | 
			
		||||
* realm: on which domain for turn server
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up turnserver.conf for coturn ...
 | 
			
		||||
 | 
			
		||||
- set realm "fn.nf"
 | 
			
		||||
- set listenport 3487
 | 
			
		||||
- set tlslistenport 5349
 | 
			
		||||
- set min port 49152
 | 
			
		||||
- set max port 65535
 | 
			
		||||
- set static-auth-secret weqrdvfdsawerawefsdaf123#@#dsfaf132
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										16
									
								
								development/coturn/coturn/turnserver.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								development/coturn/coturn/turnserver.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
realm=turn.tws-matrix.ungleich.cloud
 | 
			
		||||
no-tcp-relay
 | 
			
		||||
listening-ip=0.0.0.0
 | 
			
		||||
listening-port=3478
 | 
			
		||||
tls-listening-port=5349
 | 
			
		||||
min-port=49152
 | 
			
		||||
max-port=65535
 | 
			
		||||
log-file=stdout
 | 
			
		||||
verbose
 | 
			
		||||
pidfile=/var/tmp/turnserver.pid
 | 
			
		||||
#lt-cred-mech
 | 
			
		||||
use-auth-secret
 | 
			
		||||
static-auth-secret=iasdfsadfasdfasdfasdffsdfasdfsdfsdf
 | 
			
		||||
#user=$AUTHUSERNAME:$AUTHPW
 | 
			
		||||
pkey=/etc/ssl/private/privkey.pem
 | 
			
		||||
cert=/etc/ssl/certs/cert.pem
 | 
			
		||||
							
								
								
									
										41
									
								
								development/coturn/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								development/coturn/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
version: '3.8'
 | 
			
		||||
services:
 | 
			
		||||
  coturn:
 | 
			
		||||
    image: coturn/coturn:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
#    environment:
 | 
			
		||||
#      - HOSTNAME=${hostname}
 | 
			
		||||
#      - LISTENPORT=${listenport}
 | 
			
		||||
#      - TLSPORT=${tlsport}
 | 
			
		||||
#      - MINPORT=${minport}
 | 
			
		||||
#      - MAXPORT=${maxport}
 | 
			
		||||
#      - AUTHSECRET=${authsecret}
 | 
			
		||||
#    ports:
 | 
			
		||||
## STUN/TURN
 | 
			
		||||
#      - "3478:3478"
 | 
			
		||||
#      - "3478:3478/udp"
 | 
			
		||||
#      - "3479:3479"
 | 
			
		||||
#      - "3479:3479/udp"
 | 
			
		||||
#      - "80:80"
 | 
			
		||||
#      - "80:80/udp"
 | 
			
		||||
## STUN/TURN SSL
 | 
			
		||||
#      - "5349:5349"
 | 
			
		||||
#      - "5349:5349/udp"
 | 
			
		||||
#      - "5350:5350"
 | 
			
		||||
#      - "5350:5350/udp"
 | 
			
		||||
#      - "443:443"
 | 
			
		||||
#      - "443:443/udp"
 | 
			
		||||
#      - "49152-49252:49152-49252"
 | 
			
		||||
#      - "49152-49252:49152-49252/udp"
 | 
			
		||||
# Relay Ports
 | 
			
		||||
#      - "49152-65535:49152-65535"
 | 
			
		||||
#      - "49152-65535:49152-65535/udp"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./coturn/turnserver.conf:/etc/turnserver.conf
 | 
			
		||||
      - ./coturn/privkey.pem:/etc/ssl/private/privkey.pem:ro
 | 
			
		||||
      - ./coturn/cert.pem:/etc/ssl/certs/cert.pem:ro
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
#    command: sh -c "/etc/turnserver.conf.sh"
 | 
			
		||||
#    entrypoint: sh -c "docker-entrypoint.sh && /etc/turnserver.conf.sh && chmod -R 777 /etc/turnsever.conf"
 | 
			
		||||
#    depends_on:
 | 
			
		||||
#      - nginx
 | 
			
		||||
							
								
								
									
										33
									
								
								development/jitsi/.env
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								development/jitsi/.env
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
CONFIG=./config
 | 
			
		||||
HTTP_PORT=80
 | 
			
		||||
HTTPS_PORT=443
 | 
			
		||||
TZ=UTC
 | 
			
		||||
PUBLIC_URL=https://"jitsi domain"
 | 
			
		||||
 | 
			
		||||
# Enable Let's Encrypt certificate generation
 | 
			
		||||
ENABLE_LETSENCRYPT=1
 | 
			
		||||
LETSENCRYPT_DOMAIN="jitsi webdomain"
 | 
			
		||||
LETSENCRYPT_EMAIL=technik@ungleich.ch
 | 
			
		||||
# Use the staging server
 | 
			
		||||
#LETSENCRYPT_USE_STAGING=1
 | 
			
		||||
 | 
			
		||||
#etherpad-lite
 | 
			
		||||
#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001
 | 
			
		||||
#ETHERPAD_PUBLIC_URL=https://etherpad.my.domain/p/
 | 
			
		||||
ETHERPAD_TITLE="Video Chat"
 | 
			
		||||
ETHERPAD_DEFAULT_PAD_TEXT="Welcome to Web Chat!\n\n"
 | 
			
		||||
ETHERPAD_SKIN_NAME=colibris
 | 
			
		||||
ETHERPAD_SKIN_VARIANTS="super-light-toolbar super-light-editor light-background full-width-editor"
 | 
			
		||||
 | 
			
		||||
#ENABLE_AUTH=1
 | 
			
		||||
#ENABLE_GUESTS=1
 | 
			
		||||
 | 
			
		||||
#AUTH_TYPE=matrix
 | 
			
		||||
 | 
			
		||||
JICOFO_AUTH_PASSWORD=869aca0bddd9d543013a2d147148f55d
 | 
			
		||||
JVB_AUTH_PASSWORD=33e4dab16cfc2b3c57bbf35a47e49abf
 | 
			
		||||
JIGASI_XMPP_PASSWORD=57a16affa6676595220b166c9a6204cd
 | 
			
		||||
JIBRI_RECORDER_PASSWORD=46c27ec3786ade70ccf33f43759a134a
 | 
			
		||||
JIBRI_XMPP_PASSWORD=59c742bac98a7f86a95900ce77957b18
 | 
			
		||||
 | 
			
		||||
RESTART_POLICY=unless-stopped
 | 
			
		||||
							
								
								
									
										60
									
								
								development/jitsi/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								development/jitsi/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-11-22 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* jitsi/web: https://hub.docker.com/r/jitsi/web/tags
 | 
			
		||||
* jitsi/prodody: https://hub.docker.com/r/jitsi/prosody/tags
 | 
			
		||||
* jitsi/jicofo: https://hub.docker.com/r/jitsi/jicofo/tags
 | 
			
		||||
* jitsi/jvb: https://hub.docker.com/r/jitsi/jvb/tags
 | 
			
		||||
 | 
			
		||||
### Domains / jitsi web
 | 
			
		||||
 | 
			
		||||
* PUBLIC_URL: on which domain the jistis server is reachable
 | 
			
		||||
* LETSENCRYPT_DOMAIN: on which domain web will be deployed
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up jitsi for  ...
 | 
			
		||||
 | 
			
		||||
- the jitsi domain "fn.nf"
 | 
			
		||||
- jitsi web "fn.nf" 
 | 
			
		||||
 | 
			
		||||
- set domains and config via .env
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
PUBLIC_URL=https://fn.nf
 | 
			
		||||
ENABLE_LETSENCRYPT=1
 | 
			
		||||
LETSENCRYPT_DOMAIN=fn.nf
 | 
			
		||||
LETSENCRYPT_EMAIL=technik@ungleich.ch
 | 
			
		||||
LETSENCRYPT_USE_STAGING=1
 | 
			
		||||
JITSI_IMAGE_VERSION=latest
 | 
			
		||||
JICOFO_AUTH_PASSWORD="create password ex. pwgen 32"
 | 
			
		||||
JVB_AUTH_PASSWORD="create password ex. pwgen 32"
 | 
			
		||||
JIGASI_XMPP_PASSWORD="create password ex. pwgen 32"
 | 
			
		||||
JIBRI_RECORDER_PASSWORD="create password ex. pwgen 32"
 | 
			
		||||
JIBRI_XMPP_PASSWORD="create password ex. pwgen 32"
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
- run docker-compose
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Using existing TLS certificate and key
 | 
			
		||||
 | 
			
		||||
- update docker-compose.yml
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
services:
 | 
			
		||||
    web:
 | 
			
		||||
        ...
 | 
			
		||||
        volumes:
 | 
			
		||||
            ...
 | 
			
		||||
            - /path/to/your/cert.fullchain:/config/keys/cert.crt
 | 
			
		||||
            - /path/to/your/cert.key:/config/keys/cert.key
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										0
									
								
								development/jitsi/config/jibri/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/jibri/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/jicofo/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/jicofo/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/jigasi/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/jigasi/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/jvb/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/jvb/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/prosody/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/prosody/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/transcripts/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/transcripts/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								development/jitsi/config/web/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								development/jitsi/config/web/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										436
									
								
								development/jitsi/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										436
									
								
								development/jitsi/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,436 @@
 | 
			
		|||
version: '3.5'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
    # Frontend
 | 
			
		||||
    web:
 | 
			
		||||
        image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable}
 | 
			
		||||
        restart: ${RESTART_POLICY:-unless-stopped}
 | 
			
		||||
        ports:
 | 
			
		||||
            - '${HTTP_PORT}:80'
 | 
			
		||||
            - '${HTTPS_PORT}:443'
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ${CONFIG}/web:/config:Z
 | 
			
		||||
            - ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
 | 
			
		||||
            - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
 | 
			
		||||
        environment:
 | 
			
		||||
            - AMPLITUDE_ID
 | 
			
		||||
            - ANALYTICS_SCRIPT_URLS
 | 
			
		||||
            - ANALYTICS_WHITELISTED_EVENTS
 | 
			
		||||
            - AUDIO_QUALITY_OPUS_BITRATE
 | 
			
		||||
            - AUTO_CAPTION_ON_RECORD
 | 
			
		||||
            - BRANDING_DATA_URL
 | 
			
		||||
            - CALLSTATS_CUSTOM_SCRIPT_URL
 | 
			
		||||
            - CALLSTATS_ID
 | 
			
		||||
            - CALLSTATS_SECRET
 | 
			
		||||
            - CHROME_EXTENSION_BANNER_JSON
 | 
			
		||||
            - COLIBRI_WEBSOCKET_PORT
 | 
			
		||||
            - COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME
 | 
			
		||||
            - COLIBRI_WEBSOCKET_REGEX
 | 
			
		||||
            - CONFCODE_URL
 | 
			
		||||
            - CONFIG_EXTERNAL_CONNECT
 | 
			
		||||
            - DEFAULT_LANGUAGE
 | 
			
		||||
            - DEPLOYMENTINFO_ENVIRONMENT
 | 
			
		||||
            - DEPLOYMENTINFO_ENVIRONMENT_TYPE
 | 
			
		||||
            - DEPLOYMENTINFO_REGION
 | 
			
		||||
            - DEPLOYMENTINFO_SHARD
 | 
			
		||||
            - DEPLOYMENTINFO_USERREGION
 | 
			
		||||
            - DESKTOP_SHARING_FRAMERATE_MIN
 | 
			
		||||
            - DESKTOP_SHARING_FRAMERATE_MAX
 | 
			
		||||
            - DIALIN_NUMBERS_URL
 | 
			
		||||
            - DIALOUT_AUTH_URL
 | 
			
		||||
            - DIALOUT_CODES_URL
 | 
			
		||||
            - DISABLE_AUDIO_LEVELS
 | 
			
		||||
            - DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP
 | 
			
		||||
            - DISABLE_DEEP_LINKING
 | 
			
		||||
            - DISABLE_GRANT_MODERATOR
 | 
			
		||||
            - DISABLE_HTTPS
 | 
			
		||||
            - DISABLE_KICKOUT
 | 
			
		||||
            - DISABLE_LOCAL_RECORDING
 | 
			
		||||
            - DISABLE_POLLS
 | 
			
		||||
            - DISABLE_PRIVATE_CHAT
 | 
			
		||||
            - DISABLE_PROFILE
 | 
			
		||||
            - DISABLE_REACTIONS
 | 
			
		||||
            - DISABLE_REMOTE_VIDEO_MENU
 | 
			
		||||
            - DISABLE_START_FOR_ALL
 | 
			
		||||
            - DROPBOX_APPKEY
 | 
			
		||||
            - DROPBOX_REDIRECT_URI
 | 
			
		||||
            - DYNAMIC_BRANDING_URL
 | 
			
		||||
            - ENABLE_AUDIO_PROCESSING
 | 
			
		||||
            - ENABLE_AUTH
 | 
			
		||||
            - ENABLE_AUTH_DOMAIN
 | 
			
		||||
            - ENABLE_BREAKOUT_ROOMS
 | 
			
		||||
            - ENABLE_CALENDAR
 | 
			
		||||
            - ENABLE_COLIBRI_WEBSOCKET
 | 
			
		||||
            - ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX
 | 
			
		||||
            - ENABLE_E2EPING
 | 
			
		||||
            - ENABLE_FILE_RECORDING_SHARING
 | 
			
		||||
            - ENABLE_GUESTS
 | 
			
		||||
            - ENABLE_HSTS
 | 
			
		||||
            - ENABLE_HTTP_REDIRECT
 | 
			
		||||
            - ENABLE_IPV6
 | 
			
		||||
            - ENABLE_LETSENCRYPT
 | 
			
		||||
            - ENABLE_LIPSYNC
 | 
			
		||||
            - ENABLE_NO_AUDIO_DETECTION
 | 
			
		||||
            - ENABLE_NOISY_MIC_DETECTION
 | 
			
		||||
            - ENABLE_OCTO
 | 
			
		||||
            - ENABLE_OPUS_RED
 | 
			
		||||
            - ENABLE_PREJOIN_PAGE
 | 
			
		||||
            - ENABLE_P2P
 | 
			
		||||
            - ENABLE_WELCOME_PAGE
 | 
			
		||||
            - ENABLE_CLOSE_PAGE
 | 
			
		||||
            - ENABLE_LIVESTREAMING
 | 
			
		||||
            - ENABLE_LIVESTREAMING_DATA_PRIVACY_LINK
 | 
			
		||||
            - ENABLE_LIVESTREAMING_HELP_LINK
 | 
			
		||||
            - ENABLE_LIVESTREAMING_TERMS_LINK
 | 
			
		||||
            - ENABLE_LIVESTREAMING_VALIDATOR_REGEXP_STRING
 | 
			
		||||
            - ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
 | 
			
		||||
            - ENABLE_LOCAL_RECORDING_SELF_START
 | 
			
		||||
            - ENABLE_RECORDING
 | 
			
		||||
            - ENABLE_REMB
 | 
			
		||||
            - ENABLE_REQUIRE_DISPLAY_NAME
 | 
			
		||||
            - ENABLE_SERVICE_RECORDING
 | 
			
		||||
            - ENABLE_SIMULCAST
 | 
			
		||||
            - ENABLE_STATS_ID
 | 
			
		||||
            - ENABLE_STEREO
 | 
			
		||||
            - ENABLE_SUBDOMAINS
 | 
			
		||||
            - ENABLE_TALK_WHILE_MUTED
 | 
			
		||||
            - ENABLE_TCC
 | 
			
		||||
            - ENABLE_TRANSCRIPTIONS
 | 
			
		||||
            - ENABLE_XMPP_WEBSOCKET
 | 
			
		||||
            - ENABLE_JAAS_COMPONENTS
 | 
			
		||||
            - ETHERPAD_PUBLIC_URL
 | 
			
		||||
            - ETHERPAD_URL_BASE
 | 
			
		||||
            - E2EPING_NUM_REQUESTS
 | 
			
		||||
            - E2EPING_MAX_CONFERENCE_SIZE
 | 
			
		||||
            - E2EPING_MAX_MESSAGE_PER_SECOND
 | 
			
		||||
            - GOOGLE_ANALYTICS_ID
 | 
			
		||||
            - GOOGLE_API_APP_CLIENT_ID
 | 
			
		||||
            - HIDE_PREMEETING_BUTTONS
 | 
			
		||||
            - HIDE_PREJOIN_DISPLAY_NAME
 | 
			
		||||
            - HIDE_PREJOIN_EXTRA_BUTTONS
 | 
			
		||||
            - INVITE_SERVICE_URL
 | 
			
		||||
            - JVB_PREFER_SCTP
 | 
			
		||||
            - LETSENCRYPT_DOMAIN
 | 
			
		||||
            - LETSENCRYPT_EMAIL
 | 
			
		||||
            - LETSENCRYPT_USE_STAGING
 | 
			
		||||
            - MATOMO_ENDPOINT
 | 
			
		||||
            - MATOMO_SITE_ID
 | 
			
		||||
            - MICROSOFT_API_APP_CLIENT_ID
 | 
			
		||||
            - NGINX_RESOLVER
 | 
			
		||||
            - NGINX_WORKER_PROCESSES
 | 
			
		||||
            - NGINX_WORKER_CONNECTIONS
 | 
			
		||||
            - PEOPLE_SEARCH_URL
 | 
			
		||||
            - PREFERRED_LANGUAGE
 | 
			
		||||
            - PUBLIC_URL
 | 
			
		||||
            - P2P_PREFERRED_CODEC
 | 
			
		||||
            - RESOLUTION
 | 
			
		||||
            - RESOLUTION_MIN
 | 
			
		||||
            - RESOLUTION_WIDTH
 | 
			
		||||
            - RESOLUTION_WIDTH_MIN
 | 
			
		||||
            - START_AUDIO_MUTED
 | 
			
		||||
            - START_AUDIO_ONLY
 | 
			
		||||
            - START_BITRATE
 | 
			
		||||
            - START_SILENT
 | 
			
		||||
            - START_WITH_AUDIO_MUTED
 | 
			
		||||
            - START_VIDEO_MUTED
 | 
			
		||||
            - START_WITH_VIDEO_MUTED
 | 
			
		||||
            - TESTING_CAP_SCREENSHARE_BITRATE
 | 
			
		||||
            - TESTING_OCTO_PROBABILITY
 | 
			
		||||
            - TOKEN_AUTH_URL
 | 
			
		||||
            - TOOLBAR_BUTTONS
 | 
			
		||||
            - TRANSLATION_LANGUAGES
 | 
			
		||||
            - TRANSLATION_LANGUAGES_HEAD
 | 
			
		||||
            - TZ
 | 
			
		||||
            - USE_APP_LANGUAGE
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_H264_LOW
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_H264_STANDARD
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_H264_HIGH
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP8_LOW
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP8_STANDARD
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP8_HIGH
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP9_LOW
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP9_STANDARD
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_VP9_HIGH
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_AV1_LOW
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_AV1_STANDARD
 | 
			
		||||
            - VIDEOQUALITY_BITRATE_AV1_HIGH
 | 
			
		||||
            - VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
 | 
			
		||||
            - VIDEOQUALITY_PREFERRED_CODEC
 | 
			
		||||
            - XMPP_AUTH_DOMAIN
 | 
			
		||||
            - XMPP_BOSH_URL_BASE
 | 
			
		||||
            - XMPP_DOMAIN
 | 
			
		||||
            - XMPP_GUEST_DOMAIN
 | 
			
		||||
            - XMPP_MUC_DOMAIN
 | 
			
		||||
            - XMPP_RECORDER_DOMAIN
 | 
			
		||||
            - XMPP_PORT
 | 
			
		||||
            - WHITEBOARD_ENABLED
 | 
			
		||||
            - WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
 | 
			
		||||
        networks:
 | 
			
		||||
            meet.jitsi:
 | 
			
		||||
 | 
			
		||||
    # XMPP server
 | 
			
		||||
    prosody:
 | 
			
		||||
        image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}
 | 
			
		||||
        restart: ${RESTART_POLICY:-unless-stopped}
 | 
			
		||||
        expose:
 | 
			
		||||
            - '${XMPP_PORT:-5222}'
 | 
			
		||||
            - '${PROSODY_S2S_PORT:-5269}'
 | 
			
		||||
            - '5347'
 | 
			
		||||
            - '${PROSODY_HTTP_PORT:-5280}'
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ${CONFIG}/prosody/config:/config:Z
 | 
			
		||||
            - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
 | 
			
		||||
        environment:
 | 
			
		||||
            - AUTH_TYPE
 | 
			
		||||
            - DISABLE_POLLS
 | 
			
		||||
            - ENABLE_AUTH
 | 
			
		||||
            - ENABLE_AV_MODERATION
 | 
			
		||||
            - ENABLE_BREAKOUT_ROOMS
 | 
			
		||||
            - ENABLE_END_CONFERENCE
 | 
			
		||||
            - ENABLE_GUESTS
 | 
			
		||||
            - ENABLE_IPV6
 | 
			
		||||
            - ENABLE_LOBBY
 | 
			
		||||
            - ENABLE_RECORDING
 | 
			
		||||
            - ENABLE_S2S
 | 
			
		||||
            - ENABLE_VISITORS
 | 
			
		||||
            - ENABLE_XMPP_WEBSOCKET
 | 
			
		||||
            - ENABLE_JAAS_COMPONENTS
 | 
			
		||||
            - GC_TYPE
 | 
			
		||||
            - GC_INC_TH
 | 
			
		||||
            - GC_INC_SPEED
 | 
			
		||||
            - GC_INC_STEP_SIZE
 | 
			
		||||
            - GC_GEN_MIN_TH
 | 
			
		||||
            - GC_GEN_MAX_TH
 | 
			
		||||
            - GLOBAL_CONFIG
 | 
			
		||||
            - GLOBAL_MODULES
 | 
			
		||||
            - JIBRI_RECORDER_USER
 | 
			
		||||
            - JIBRI_RECORDER_PASSWORD
 | 
			
		||||
            - JIBRI_XMPP_USER
 | 
			
		||||
            - JIBRI_XMPP_PASSWORD
 | 
			
		||||
            - JICOFO_AUTH_PASSWORD
 | 
			
		||||
            - JICOFO_COMPONENT_SECRET
 | 
			
		||||
            - JIGASI_XMPP_USER
 | 
			
		||||
            - JIGASI_XMPP_PASSWORD
 | 
			
		||||
            - JVB_AUTH_USER
 | 
			
		||||
            - JVB_AUTH_PASSWORD
 | 
			
		||||
            - JWT_APP_ID
 | 
			
		||||
            - JWT_APP_SECRET
 | 
			
		||||
            - JWT_ACCEPTED_ISSUERS
 | 
			
		||||
            - JWT_ACCEPTED_AUDIENCES
 | 
			
		||||
            - JWT_ASAP_KEYSERVER
 | 
			
		||||
            - JWT_ALLOW_EMPTY
 | 
			
		||||
            - JWT_AUTH_TYPE
 | 
			
		||||
            - JWT_ENABLE_DOMAIN_VERIFICATION
 | 
			
		||||
            - JWT_TOKEN_AUTH_MODULE
 | 
			
		||||
            - MATRIX_UVS_URL
 | 
			
		||||
            - MATRIX_UVS_ISSUER
 | 
			
		||||
            - MATRIX_UVS_AUTH_TOKEN
 | 
			
		||||
            - MATRIX_UVS_SYNC_POWER_LEVELS
 | 
			
		||||
            - LOG_LEVEL
 | 
			
		||||
            - LDAP_AUTH_METHOD
 | 
			
		||||
            - LDAP_BASE
 | 
			
		||||
            - LDAP_BINDDN
 | 
			
		||||
            - LDAP_BINDPW
 | 
			
		||||
            - LDAP_FILTER
 | 
			
		||||
            - LDAP_VERSION
 | 
			
		||||
            - LDAP_TLS_CIPHERS
 | 
			
		||||
            - LDAP_TLS_CHECK_PEER
 | 
			
		||||
            - LDAP_TLS_CACERT_FILE
 | 
			
		||||
            - LDAP_TLS_CACERT_DIR
 | 
			
		||||
            - LDAP_START_TLS
 | 
			
		||||
            - LDAP_URL
 | 
			
		||||
            - LDAP_USE_TLS
 | 
			
		||||
            - MAX_PARTICIPANTS
 | 
			
		||||
            - PROSODY_ADMINS
 | 
			
		||||
            - PROSODY_AUTH_TYPE
 | 
			
		||||
            - PROSODY_C2S_LIMIT
 | 
			
		||||
            - PROSODY_C2S_REQUIRE_ENCRYPTION
 | 
			
		||||
            - PROSODY_RESERVATION_ENABLED
 | 
			
		||||
            - PROSODY_RESERVATION_REST_BASE_URL
 | 
			
		||||
            - PROSODY_ENABLE_RATE_LIMITS
 | 
			
		||||
            - PROSODY_ENABLE_S2S
 | 
			
		||||
            - PROSODY_GUEST_AUTH_TYPE
 | 
			
		||||
            - PROSODY_HTTP_PORT
 | 
			
		||||
            - PROSODY_LOG_CONFIG
 | 
			
		||||
            - PROSODY_MODE
 | 
			
		||||
            - PROSODY_RATE_LIMIT_LOGIN_RATE
 | 
			
		||||
            - PROSODY_RATE_LIMIT_SESSION_RATE
 | 
			
		||||
            - PROSODY_RATE_LIMIT_TIMEOUT
 | 
			
		||||
            - PROSODY_RATE_LIMIT_ALLOW_RANGES
 | 
			
		||||
            - PROSODY_RATE_LIMIT_CACHE_SIZE
 | 
			
		||||
            - PROSODY_S2S_LIMIT
 | 
			
		||||
            - PROSODY_S2S_PORT
 | 
			
		||||
            - PROSODY_TRUSTED_PROXIES
 | 
			
		||||
            - PROSODY_VISITOR_INDEX
 | 
			
		||||
            - PROSODY_VISITORS_MUC_PREFIX
 | 
			
		||||
            - PUBLIC_URL
 | 
			
		||||
            - STUN_HOST
 | 
			
		||||
            - STUN_PORT
 | 
			
		||||
            - TURN_CREDENTIALS
 | 
			
		||||
            - TURN_HOST
 | 
			
		||||
            - TURNS_HOST
 | 
			
		||||
            - TURN_PORT
 | 
			
		||||
            - TURNS_PORT
 | 
			
		||||
            - TURN_TRANSPORT
 | 
			
		||||
            - TZ
 | 
			
		||||
            - VISITORS_MAX_VISITORS_PER_NODE
 | 
			
		||||
            - VISITORS_XMPP_DOMAIN
 | 
			
		||||
            - VISITORS_XMPP_SERVER
 | 
			
		||||
            - VISITORS_XMPP_PORT
 | 
			
		||||
            - XMPP_BREAKOUT_MUC_MODULES
 | 
			
		||||
            - XMPP_CONFIGURATION
 | 
			
		||||
            - XMPP_DOMAIN
 | 
			
		||||
            - XMPP_AUTH_DOMAIN
 | 
			
		||||
            - XMPP_GUEST_DOMAIN
 | 
			
		||||
            - XMPP_MUC_DOMAIN
 | 
			
		||||
            - XMPP_INTERNAL_MUC_DOMAIN
 | 
			
		||||
            - XMPP_LOBBY_MUC_MODULES
 | 
			
		||||
            - XMPP_MODULES
 | 
			
		||||
            - XMPP_MUC_MODULES
 | 
			
		||||
            - XMPP_MUC_CONFIGURATION
 | 
			
		||||
            - XMPP_INTERNAL_MUC_MODULES
 | 
			
		||||
            - XMPP_RECORDER_DOMAIN
 | 
			
		||||
            - XMPP_PORT
 | 
			
		||||
            - XMPP_SERVER_S2S_PORT
 | 
			
		||||
        networks:
 | 
			
		||||
            meet.jitsi:
 | 
			
		||||
                aliases:
 | 
			
		||||
                    - ${XMPP_SERVER:-xmpp.meet.jitsi}
 | 
			
		||||
 | 
			
		||||
    # Focus component
 | 
			
		||||
    jicofo:
 | 
			
		||||
        image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}
 | 
			
		||||
        restart: ${RESTART_POLICY:-unless-stopped}
 | 
			
		||||
        ports:
 | 
			
		||||
            - '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888'
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ${CONFIG}/jicofo:/config:Z
 | 
			
		||||
        environment:
 | 
			
		||||
            - AUTH_TYPE
 | 
			
		||||
            - BRIDGE_AVG_PARTICIPANT_STRESS
 | 
			
		||||
            - BRIDGE_STRESS_THRESHOLD
 | 
			
		||||
            - ENABLE_AUTH
 | 
			
		||||
            - ENABLE_AUTO_OWNER
 | 
			
		||||
            - ENABLE_CODEC_VP8
 | 
			
		||||
            - ENABLE_CODEC_VP9
 | 
			
		||||
            - ENABLE_CODEC_AV1
 | 
			
		||||
            - ENABLE_CODEC_H264
 | 
			
		||||
            - ENABLE_CODEC_OPUS_RED
 | 
			
		||||
            - ENABLE_JVB_XMPP_SERVER
 | 
			
		||||
            - ENABLE_OCTO
 | 
			
		||||
            - ENABLE_RECORDING
 | 
			
		||||
            - ENABLE_SCTP
 | 
			
		||||
            - ENABLE_VISITORS
 | 
			
		||||
            - ENABLE_AUTO_LOGIN
 | 
			
		||||
            - JICOFO_AUTH_LIFETIME
 | 
			
		||||
            - JICOFO_AUTH_PASSWORD
 | 
			
		||||
            - JICOFO_AUTH_TYPE
 | 
			
		||||
            - JICOFO_BRIDGE_REGION_GROUPS
 | 
			
		||||
            - JICOFO_ENABLE_AUTH
 | 
			
		||||
            - JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
 | 
			
		||||
            - JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
 | 
			
		||||
            - JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
 | 
			
		||||
            - JICOFO_CONF_SOURCE_SIGNALING_DELAYS
 | 
			
		||||
            - JICOFO_CONF_MAX_AUDIO_SENDERS
 | 
			
		||||
            - JICOFO_CONF_MAX_VIDEO_SENDERS
 | 
			
		||||
            - JICOFO_CONF_STRIP_SIMULCAST
 | 
			
		||||
            - JICOFO_CONF_SSRC_REWRITING
 | 
			
		||||
            - JICOFO_ENABLE_HEALTH_CHECKS
 | 
			
		||||
            - JICOFO_ENABLE_REST
 | 
			
		||||
            - JICOFO_HEALTH_CHECKS_USE_PRESENCE
 | 
			
		||||
            - JICOFO_MULTI_STREAM_BACKWARD_COMPAT
 | 
			
		||||
            - JICOFO_OCTO_REGION
 | 
			
		||||
            - JIBRI_BREWERY_MUC
 | 
			
		||||
            - JIBRI_REQUEST_RETRIES
 | 
			
		||||
            - JIBRI_PENDING_TIMEOUT
 | 
			
		||||
            - JIGASI_BREWERY_MUC
 | 
			
		||||
            - JIGASI_SIP_URI
 | 
			
		||||
            - JVB_BREWERY_MUC
 | 
			
		||||
            - JVB_XMPP_AUTH_DOMAIN
 | 
			
		||||
            - JVB_XMPP_INTERNAL_MUC_DOMAIN
 | 
			
		||||
            - JVB_XMPP_PORT
 | 
			
		||||
            - JVB_XMPP_SERVER
 | 
			
		||||
            - MAX_BRIDGE_PARTICIPANTS
 | 
			
		||||
            - OCTO_BRIDGE_SELECTION_STRATEGY
 | 
			
		||||
            - PROSODY_VISITORS_MUC_PREFIX
 | 
			
		||||
            - SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
 | 
			
		||||
            - SENTRY_ENVIRONMENT
 | 
			
		||||
            - SENTRY_RELEASE
 | 
			
		||||
            - TZ
 | 
			
		||||
            - VISITORS_MAX_PARTICIPANTS
 | 
			
		||||
            - VISITORS_MAX_VISITORS_PER_NODE
 | 
			
		||||
            - VISITORS_XMPP_SERVER
 | 
			
		||||
            - VISITORS_XMPP_DOMAIN
 | 
			
		||||
            - XMPP_DOMAIN
 | 
			
		||||
            - XMPP_AUTH_DOMAIN
 | 
			
		||||
            - XMPP_INTERNAL_MUC_DOMAIN
 | 
			
		||||
            - XMPP_MUC_DOMAIN
 | 
			
		||||
            - XMPP_RECORDER_DOMAIN
 | 
			
		||||
            - XMPP_SERVER
 | 
			
		||||
            - XMPP_PORT
 | 
			
		||||
        depends_on:
 | 
			
		||||
            - prosody
 | 
			
		||||
        networks:
 | 
			
		||||
            meet.jitsi:
 | 
			
		||||
 | 
			
		||||
    # Video bridge
 | 
			
		||||
    jvb:
 | 
			
		||||
        image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}
 | 
			
		||||
        restart: ${RESTART_POLICY:-unless-stopped}
 | 
			
		||||
        ports:
 | 
			
		||||
            - '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp'
 | 
			
		||||
            - '127.0.0.1:${JVB_COLIBRI_PORT:-8080}:8080'
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ${CONFIG}/jvb:/config:Z
 | 
			
		||||
        environment:
 | 
			
		||||
            - AUTOSCALER_SIDECAR_KEY_FILE
 | 
			
		||||
            - AUTOSCALER_SIDECAR_KEY_ID
 | 
			
		||||
            - AUTOSCALER_SIDECAR_GROUP_NAME
 | 
			
		||||
            - AUTOSCALER_SIDECAR_HOST_ID
 | 
			
		||||
            - AUTOSCALER_SIDECAR_INSTANCE_ID
 | 
			
		||||
            - AUTOSCALER_SIDECAR_PORT
 | 
			
		||||
            - AUTOSCALER_SIDECAR_REGION
 | 
			
		||||
            - AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL
 | 
			
		||||
            - AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL
 | 
			
		||||
            - DOCKER_HOST_ADDRESS
 | 
			
		||||
            - ENABLE_COLIBRI_WEBSOCKET
 | 
			
		||||
            - ENABLE_JVB_XMPP_SERVER
 | 
			
		||||
            - ENABLE_OCTO
 | 
			
		||||
            - JVB_ADVERTISE_IPS
 | 
			
		||||
            - JVB_ADVERTISE_PRIVATE_CANDIDATES
 | 
			
		||||
            - JVB_AUTH_USER
 | 
			
		||||
            - JVB_AUTH_PASSWORD
 | 
			
		||||
            - JVB_BREWERY_MUC
 | 
			
		||||
            - JVB_DISABLE_STUN
 | 
			
		||||
            - JVB_INSTANCE_ID
 | 
			
		||||
            - JVB_PORT
 | 
			
		||||
            - JVB_MUC_NICKNAME
 | 
			
		||||
            - JVB_STUN_SERVERS
 | 
			
		||||
            - JVB_OCTO_BIND_ADDRESS
 | 
			
		||||
            - JVB_OCTO_REGION
 | 
			
		||||
            - JVB_OCTO_RELAY_ID
 | 
			
		||||
            - JVB_WS_DOMAIN
 | 
			
		||||
            - JVB_WS_SERVER_ID
 | 
			
		||||
            - JVB_XMPP_AUTH_DOMAIN
 | 
			
		||||
            - JVB_XMPP_INTERNAL_MUC_DOMAIN
 | 
			
		||||
            - JVB_XMPP_PORT
 | 
			
		||||
            - JVB_XMPP_SERVER
 | 
			
		||||
            - PUBLIC_URL
 | 
			
		||||
            - SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
 | 
			
		||||
            - SENTRY_ENVIRONMENT
 | 
			
		||||
            - SENTRY_RELEASE
 | 
			
		||||
            - COLIBRI_REST_ENABLED
 | 
			
		||||
            - SHUTDOWN_REST_ENABLED
 | 
			
		||||
            - TZ
 | 
			
		||||
            - XMPP_AUTH_DOMAIN
 | 
			
		||||
            - XMPP_INTERNAL_MUC_DOMAIN
 | 
			
		||||
            - XMPP_SERVER
 | 
			
		||||
            - XMPP_PORT
 | 
			
		||||
        depends_on:
 | 
			
		||||
            - prosody
 | 
			
		||||
        networks:
 | 
			
		||||
            meet.jitsi:
 | 
			
		||||
 | 
			
		||||
# Custom network so all services can communicate using a FQDN
 | 
			
		||||
networks:
 | 
			
		||||
    meet.jitsi:
 | 
			
		||||
							
								
								
									
										15
									
								
								development/matrix_extDB/matrix_noDB/.env
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								development/matrix_extDB/matrix_noDB/.env
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
homeServerFQDN=tws-matrix.ungleich.cloud
 | 
			
		||||
synapseFQDN=synapse.tws-matrix.ungleich.cloud
 | 
			
		||||
elementWebFQDN=chat.tws-matrix.ungleich.cloud
 | 
			
		||||
dbuser=synapse
 | 
			
		||||
dbhost=postgres.tws-matrix.ungleich.cloud
 | 
			
		||||
dbpassword=NEEDTOSETPASSWORD
 | 
			
		||||
dbname=synapse
 | 
			
		||||
DOMAIN=synapse.tws-matrix.ungleich.cloud
 | 
			
		||||
EMAIL=technik@ungleich.ch
 | 
			
		||||
STAGING=no
 | 
			
		||||
redishost=redis-node1.ungleich.cloud
 | 
			
		||||
redisport=7300
 | 
			
		||||
turnhost=turn.tws-matrix.ungleich.cloud
 | 
			
		||||
turnport=3478
 | 
			
		||||
turnsecret=iasdfsadfasdfasdfasdffsdfasdfsdfsdf
 | 
			
		||||
							
								
								
									
										44
									
								
								development/matrix_extDB/matrix_noDB/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								development/matrix_extDB/matrix_noDB/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-09-01 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* Element: https://hub.docker.com/r/vectorim/element-web/tags
 | 
			
		||||
* Synapse: https://hub.docker.com/r/matrixdotorg/synapse/tags
 | 
			
		||||
 | 
			
		||||
### Domains / homeserver.yaml and element-config.json
 | 
			
		||||
 | 
			
		||||
* synapseFQDN: on which domain the home server is reachable
 | 
			
		||||
* elementWebFQDN: on which domain element web will be deployed
 | 
			
		||||
* homeServerFQDN: the "matrix domain" that identifies the users
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up matrix for  ...
 | 
			
		||||
 | 
			
		||||
- the matrix domain "fn.nf"
 | 
			
		||||
- the homeserver "homeserver.fn.nf"
 | 
			
		||||
- element web on m.fn.nf
 | 
			
		||||
 | 
			
		||||
- set domains and config via .env
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
homeServerFQDN=homeServerFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
synapseFQDN=synapse.sample.matrix.ungleich.cloud
 | 
			
		||||
elementWebFQDN=elementWebFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
dbuser=synapse
 | 
			
		||||
dbhost=postgres.tws-matrix.ungleich.cloud
 | 
			
		||||
dbpassword=NEEDTOSETPASSWORD
 | 
			
		||||
dbname=synapse
 | 
			
		||||
DOMAIN=synapse.tws-matrix.ungleich.cloud
 | 
			
		||||
EMAIL=technik@ungleich.ch
 | 
			
		||||
STAGING=no
 | 
			
		||||
redishost=redis-node1.ungleich.cloud
 | 
			
		||||
redisport=7300
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										11
									
								
								development/matrix_extDB/matrix_noDB/conf/default
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								development/matrix_extDB/matrix_noDB/conf/default
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
server {
 | 
			
		||||
    listen *:80;
 | 
			
		||||
    listen [::]:80;
 | 
			
		||||
 | 
			
		||||
    server_name _;
 | 
			
		||||
 | 
			
		||||
    # Everything else -> ssl
 | 
			
		||||
    location / {
 | 
			
		||||
        return 301 https://$host$request_uri;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								development/matrix_extDB/matrix_noDB/conf/elementhttp.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								development/matrix_extDB/matrix_noDB/conf/elementhttp.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
server {
 | 
			
		||||
    listen  127.0.0.1:8080;
 | 
			
		||||
    listen  [::1]:8080;
 | 
			
		||||
    server_name  localhost;
 | 
			
		||||
 | 
			
		||||
    root   /usr/share/nginx/html;
 | 
			
		||||
    index  index.html;
 | 
			
		||||
 | 
			
		||||
    client_max_body_size 512M;
 | 
			
		||||
    proxy_buffering off;
 | 
			
		||||
 | 
			
		||||
    # Set no-cache for the index.html only so that browsers always check for a new copy of Element Web.
 | 
			
		||||
    location = /index.html {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
    location = /version {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
    # covers config.json and config.hostname.json requests as it is prefix.
 | 
			
		||||
    location /config {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    # redirect server error pages to the static page /50x.html
 | 
			
		||||
    #
 | 
			
		||||
    error_page   500 502 503 504  /50x.html;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										94
									
								
								development/matrix_extDB/matrix_noDB/dconf/nginx.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								development/matrix_extDB/matrix_noDB/dconf/nginx.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,94 @@
 | 
			
		|||
# /etc/nginx/nginx.conf
 | 
			
		||||
 | 
			
		||||
user nginx;
 | 
			
		||||
 | 
			
		||||
# Set number of worker processes automatically based on number of CPU cores.
 | 
			
		||||
worker_processes auto;
 | 
			
		||||
 | 
			
		||||
# Enables the use of JIT for regular expressions to speed-up their processing.
 | 
			
		||||
pcre_jit on;
 | 
			
		||||
 | 
			
		||||
# Configures default error logger.
 | 
			
		||||
error_log /var/log/nginx/error.log warn;
 | 
			
		||||
 | 
			
		||||
# Includes files with directives to load dynamic modules.
 | 
			
		||||
include /etc/nginx/modules/*.conf;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
events {
 | 
			
		||||
	# The maximum number of simultaneous connections that can be opened by
 | 
			
		||||
	# a worker process.
 | 
			
		||||
	worker_connections 1024;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
http {
 | 
			
		||||
        server_names_hash_bucket_size 64;
 | 
			
		||||
        map_hash_bucket_size 128;
 | 
			
		||||
 | 
			
		||||
	# Includes mapping of file name extensions to MIME types of responses
 | 
			
		||||
	# and defines the default type.
 | 
			
		||||
	include /etc/nginx/mime.types;
 | 
			
		||||
	default_type application/octet-stream;
 | 
			
		||||
 | 
			
		||||
	# Name servers used to resolve names of upstream servers into addresses.
 | 
			
		||||
	# It's also needed when using tcpsocket and udpsocket in Lua modules.
 | 
			
		||||
	#resolver 208.67.222.222 208.67.220.220;
 | 
			
		||||
 | 
			
		||||
	# Don't tell nginx version to clients.
 | 
			
		||||
	server_tokens off;
 | 
			
		||||
 | 
			
		||||
	# Specifies the maximum accepted body size of a client request, as
 | 
			
		||||
	# indicated by the request header Content-Length. If the stated content
 | 
			
		||||
	# length is greater than this size, then the client receives the HTTP
 | 
			
		||||
	# error code 413. Set to 0 to disable.
 | 
			
		||||
	client_max_body_size 1m;
 | 
			
		||||
 | 
			
		||||
	# Timeout for keep-alive connections. Server will close connections after
 | 
			
		||||
	# this time.
 | 
			
		||||
	keepalive_timeout 65;
 | 
			
		||||
 | 
			
		||||
	# Sendfile copies data between one FD and other from within the kernel,
 | 
			
		||||
	# which is more efficient than read() + write().
 | 
			
		||||
	sendfile on;
 | 
			
		||||
 | 
			
		||||
	# Don't buffer data-sends (disable Nagle algorithm).
 | 
			
		||||
	# Good for sending frequent small bursts of data in real time.
 | 
			
		||||
	tcp_nodelay on;
 | 
			
		||||
 | 
			
		||||
	# Causes nginx to attempt to send its HTTP response head in one packet,
 | 
			
		||||
	# instead of using partial frames.
 | 
			
		||||
	#tcp_nopush on;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Path of the file with Diffie-Hellman parameters for EDH ciphers.
 | 
			
		||||
	#ssl_dhparam /etc/ssl/nginx/dh2048.pem;
 | 
			
		||||
 | 
			
		||||
	# Specifies that our cipher suits should be preferred over client ciphers.
 | 
			
		||||
	ssl_prefer_server_ciphers on;
 | 
			
		||||
 | 
			
		||||
	# Enables a shared SSL cache with size that can hold around 8000 sessions.
 | 
			
		||||
	ssl_session_cache shared:SSL:2m;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Enable gzipping of responses.
 | 
			
		||||
	#gzip on;
 | 
			
		||||
 | 
			
		||||
	# Set the Vary HTTP header as defined in the RFC 2616.
 | 
			
		||||
	gzip_vary on;
 | 
			
		||||
 | 
			
		||||
	# Enable checking the existence of precompressed files.
 | 
			
		||||
	#gzip_static on;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Specifies the main log format.
 | 
			
		||||
	log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 | 
			
		||||
			'$status $body_bytes_sent "$http_referer" '
 | 
			
		||||
			'"$http_user_agent" "$http_x_forwarded_for"';
 | 
			
		||||
 | 
			
		||||
	# Sets the path, format, and configuration for a buffered log write.
 | 
			
		||||
	access_log /var/log/nginx/access.log main;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Includes virtual hosts configs.
 | 
			
		||||
	include /etc/nginx/conf.d/*;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										74
									
								
								development/matrix_extDB/matrix_noDB/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								development/matrix_extDB/matrix_noDB/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,74 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  synapse:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
      - DBNAME=${dbname}
 | 
			
		||||
      - DBHOST=${dbhost}
 | 
			
		||||
      - DBUSER=${dbuser}
 | 
			
		||||
      - DBPASSWORD=${dbpassword}
 | 
			
		||||
      - REDISHOST=${redishost}
 | 
			
		||||
      - REDISPORT=${redisport}
 | 
			
		||||
      - TURNPORT=${turnport}
 | 
			
		||||
      - TURNHOST=${turnhost}
 | 
			
		||||
      - TURNSECRET=${turnsecret}
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    entrypoint: sh -c "/data/homeserver.yaml.sh && chmod -R 777 /data  && /start.py"
 | 
			
		||||
 | 
			
		||||
  element:
 | 
			
		||||
    image: vectorim/element-web:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./element/config.json.sh:/app/config.json.sh
 | 
			
		||||
      - ./element/element.conf.sh:/app/element.conf.sh
 | 
			
		||||
      - ./element/redirector.conf.sh:/app/redirector.conf.sh
 | 
			
		||||
      - ./element/synapse.conf.sh:/app/synapse.conf.sh
 | 
			
		||||
      - ./conf:/etc/nginx/conf.d
 | 
			
		||||
      - ./etcletsencrypt:/etc/letsencrypt
 | 
			
		||||
      - ./dconf/nginx.conf:/etc/nginx/nginx.conf
 | 
			
		||||
    command: sh -c "/app/config.json.sh && /app/element.conf.sh && /app/redirector.conf.sh && /app/synapse.conf.sh && nginx -g 'daemon off;'"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
 | 
			
		||||
  synapse-generic-worker-1:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    container_name: synapse-generic-worker-1
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-1.yaml"]
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test: ["CMD-SHELL", "curl -fSs http://localhost:8081/health || exit 1"]
 | 
			
		||||
      start_period: "5s"
 | 
			
		||||
      interval: "15s"
 | 
			
		||||
      timeout: "5s"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    environment:
 | 
			
		||||
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - synapse
 | 
			
		||||
 | 
			
		||||
  synapse-federation-sender-1:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    container_name: synapse-federation-sender-1
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-1.yaml"]
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      disable: true
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    environment:
 | 
			
		||||
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - synapse
 | 
			
		||||
							
								
								
									
										55
									
								
								development/matrix_extDB/matrix_noDB/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								development/matrix_extDB/matrix_noDB/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
/docker-entrypoint.sh
 | 
			
		||||
 | 
			
		||||
cat << EOF > /app/config.json
 | 
			
		||||
{
 | 
			
		||||
    "default_server_config": {
 | 
			
		||||
        "m.homeserver": {
 | 
			
		||||
            "base_url": "https://$PUBLICBASEURL",
 | 
			
		||||
            "server_name": "$SERVERNAME"
 | 
			
		||||
        },
 | 
			
		||||
        "m.identity_server": {
 | 
			
		||||
            "base_url": "https://vector.im"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "disable_custom_urls": false,
 | 
			
		||||
    "disable_guests": false,
 | 
			
		||||
    "disable_login_language_selector": false,
 | 
			
		||||
    "disable_3pid_login": false,
 | 
			
		||||
    "brand": "Element",
 | 
			
		||||
    "integrations_ui_url": "https://scalar.vector.im/",
 | 
			
		||||
    "integrations_rest_url": "https://scalar.vector.im/api",
 | 
			
		||||
    "integrations_widgets_urls": [
 | 
			
		||||
        "https://scalar.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar-staging.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.riot.im/scalar/api"
 | 
			
		||||
    ],
 | 
			
		||||
    "default_country_code": "GB",
 | 
			
		||||
    "show_labs_settings": false,
 | 
			
		||||
    "features": {},
 | 
			
		||||
    "default_federate": true,
 | 
			
		||||
    "default_theme": "light",
 | 
			
		||||
    "room_directory": {
 | 
			
		||||
        "servers": ["matrix.org"]
 | 
			
		||||
    },
 | 
			
		||||
    "enable_presence_by_hs_url": {
 | 
			
		||||
        "https://matrix.org": false,
 | 
			
		||||
        "https://matrix-client.matrix.org": false
 | 
			
		||||
    },
 | 
			
		||||
    "setting_defaults": {
 | 
			
		||||
        "breadcrumbs": true
 | 
			
		||||
    },
 | 
			
		||||
    "jitsi": {
 | 
			
		||||
        "preferred_domain": "meet.element.io"
 | 
			
		||||
    },
 | 
			
		||||
    "element_call": {
 | 
			
		||||
        "url": "https://call.element.io",
 | 
			
		||||
        "participant_limit": 8,
 | 
			
		||||
        "brand": "Element Call"
 | 
			
		||||
    },
 | 
			
		||||
    "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										30
									
								
								development/matrix_extDB/matrix_noDB/element/element.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								development/matrix_extDB/matrix_noDB/element/element.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/element.conf
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    server_name $ELEMENTWEB;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$ELEMENTWEB/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$ELEMENTWEB/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    client_max_body_size 512m;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
      proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 | 
			
		||||
      proxy_set_header X-Forwarded-Proto \$scheme;
 | 
			
		||||
      proxy_set_header Host \$http_host;
 | 
			
		||||
      proxy_set_header X-Real-IP \$remote_addr;
 | 
			
		||||
 | 
			
		||||
      add_header X-Frame-Options SAMEORIGIN;
 | 
			
		||||
      add_header X-Content-Type-Options nosniff;
 | 
			
		||||
      add_header X-XSS-Protection "1; mode=block";
 | 
			
		||||
      add_header Content-Security-Policy "frame-ancestors 'none'";
 | 
			
		||||
 | 
			
		||||
      proxy_pass http://localhost:8080;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										31
									
								
								development/matrix_extDB/matrix_noDB/element/redirector.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								development/matrix_extDB/matrix_noDB/element/redirector.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/redirector.conf
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$SERVERNAME/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$SERVERNAME/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    server_name $SERVERNAME;
 | 
			
		||||
    proxy_buffering off;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    location /.well-known/matrix/server {
 | 
			
		||||
      default_type application/json;
 | 
			
		||||
      return 200 '{"m.server": "$PUBLICBASEURL:443" }';
 | 
			
		||||
    }
 | 
			
		||||
    location /.well-known/matrix/client {
 | 
			
		||||
      default_type application/json;
 | 
			
		||||
      return 200 '{ "m.homeserver": { "base_url": "https://$PUBLICBASEURL" } }';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
        proxy_buffering off;
 | 
			
		||||
        client_max_body_size 512M;
 | 
			
		||||
        return 301 https://$ELEMENTWEB;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										131
									
								
								development/matrix_extDB/matrix_noDB/element/synapse.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										131
									
								
								development/matrix_extDB/matrix_noDB/element/synapse.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,131 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/synapse.conf
 | 
			
		||||
upstream synapse_master {
 | 
			
		||||
	server localhost:8008;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
upstream synapse_federation {
 | 
			
		||||
	server localhost:8082;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
upstream synapse_generic {
 | 
			
		||||
	server localhost:8081;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
map \$request_uri \$synapse_backend {
 | 
			
		||||
	default synapse_master;
 | 
			
		||||
 | 
			
		||||
	# Sync requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3)/sync\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/events\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/initialSync\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync\$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Federation requests
 | 
			
		||||
	~*^/_matrix/federation/v1/event/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/state/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/state_ids/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/backfill/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/get_missing_events/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/publicRooms synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/query/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/make_join/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/make_leave/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/send_join/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/send_leave/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/invite/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/event_auth/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/exchange_third_party_invite/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/user/devices/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/key/v2/query synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/hierarchy/ synapse_federation;
 | 
			
		||||
 | 
			
		||||
	# Inbound federation transaction request
 | 
			
		||||
	~*^/_matrix/federation/v1/send/ synapse_federation;
 | 
			
		||||
 | 
			
		||||
	# Client API requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/createRoom\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/publicRooms\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/joined_members\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/context/.*\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/members\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/v1/rooms/.*/hierarchy\$ synaspe_generic;
 | 
			
		||||
	~*^/_matrix/client/unstable/org.matrix.msc2716/rooms/.*/batch_send\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/unstable/im.nheko.summary/rooms/.*/summary\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/account/3pid\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/account/whoami\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/devices\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/versions\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/voip/turnServer\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/event/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/joined_rooms\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/search\$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Encryption requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/query\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/changes\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/claim\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/room_keys/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Registration/login requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/login\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/register\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/v1/register/m.login.registration_token/validity\$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Event sending requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/redact synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/send synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/join/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/profile/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Account data requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/.*/tags synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/.*/account_data synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Receipts requests
 | 
			
		||||
	#~*^/_matrix/client/(r0|v3|unstable)/rooms/.*/receipt synapse_generic;
 | 
			
		||||
	#~*^/_matrix/client/(r0|v3|unstable)/rooms/.*/read_markers synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Presence requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/presence/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# User directory search requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/user_directory/search\$ synapse_generic;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$PUBLICBASEURL/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$PUBLICBASEURL/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    server_name $PUBLICBASEURL;
 | 
			
		||||
    
 | 
			
		||||
    client_max_body_size 512m;
 | 
			
		||||
 | 
			
		||||
    error_page 403 404 /403_404.html;
 | 
			
		||||
    location = /403_404.html {
 | 
			
		||||
	    default_type application/json;
 | 
			
		||||
	    return 200 'You are not authorized to access this page.';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    location ~ /_matrix|/_synapse {
 | 
			
		||||
      proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 | 
			
		||||
      proxy_set_header X-Forwarded-Proto \$scheme;
 | 
			
		||||
      proxy_set_header Host \$http_host;
 | 
			
		||||
      proxy_set_header X-Real-IP \$remote_addr;
 | 
			
		||||
      proxy_connect_timeout 3600;
 | 
			
		||||
      proxy_send_timeout 3600;
 | 
			
		||||
      proxy_read_timeout 3600;
 | 
			
		||||
      send_timeout 3600;
 | 
			
		||||
      proxy_pass http://\$synapse_backend;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/federation_sender.log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/federation_sender.log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
							
								
								
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/generic-worker-log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/generic-worker-log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
							
								
								
									
										2944
									
								
								development/matrix_extDB/matrix_noDB/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2944
									
								
								development/matrix_extDB/matrix_noDB/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_extDB/matrix_noDB/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
worker_app: synapse.app.generic_worker
 | 
			
		||||
worker_name: synapse-federation-sender-1
 | 
			
		||||
 | 
			
		||||
worker_listeners:
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 8082
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [federation]
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 9082
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [replication]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
worker_log_config: /data/federation_sender.log.yaml
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
worker_app: synapse.app.generic_worker
 | 
			
		||||
worker_name: synapse-generic-worker-1
 | 
			
		||||
 | 
			
		||||
worker_listeners:
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 8081
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [client]
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 9081
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [replication]
 | 
			
		||||
 | 
			
		||||
worker_log_config: /data/generic-worker-log.yaml
 | 
			
		||||
							
								
								
									
										44
									
								
								development/matrix_extDB/matrix_noDB_redis/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								development/matrix_extDB/matrix_noDB_redis/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-09-01 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* Element: https://hub.docker.com/r/vectorim/element-web/tags
 | 
			
		||||
* Synapse: https://hub.docker.com/r/matrixdotorg/synapse/tags
 | 
			
		||||
 | 
			
		||||
### Domains / homeserver.yaml and element-config.json
 | 
			
		||||
 | 
			
		||||
* synapseFQDN: on which domain the home server is reachable
 | 
			
		||||
* elementWebFQDN: on which domain element web will be deployed
 | 
			
		||||
* homeServerFQDN: the "matrix domain" that identifies the users
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up matrix for  ...
 | 
			
		||||
 | 
			
		||||
- the matrix domain "fn.nf"
 | 
			
		||||
- the homeserver "homeserver.fn.nf"
 | 
			
		||||
- element web on m.fn.nf
 | 
			
		||||
 | 
			
		||||
- set domains and config via .env
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
homeServerFQDN=homeServerFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
synapseFQDN=synapse.sample.matrix.ungleich.cloud
 | 
			
		||||
elementWebFQDN=elementWebFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
dbuser=synapse
 | 
			
		||||
dbhost=postgres.tws-matrix.ungleich.cloud
 | 
			
		||||
dbpassword=NEEDTOSETPASSWORD
 | 
			
		||||
dbname=synapse
 | 
			
		||||
DOMAIN=synapse.tws-matrix.ungleich.cloud
 | 
			
		||||
EMAIL=technik@ungleich.ch
 | 
			
		||||
STAGING=no
 | 
			
		||||
redishost=redis-node1.ungleich.cloud
 | 
			
		||||
redisport=7300
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										11
									
								
								development/matrix_extDB/matrix_noDB_redis/conf/default
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								development/matrix_extDB/matrix_noDB_redis/conf/default
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
server {
 | 
			
		||||
    listen *:80;
 | 
			
		||||
    listen [::]:80;
 | 
			
		||||
 | 
			
		||||
    server_name _;
 | 
			
		||||
 | 
			
		||||
    # Everything else -> ssl
 | 
			
		||||
    location / {
 | 
			
		||||
        return 301 https://$host$request_uri;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
server {
 | 
			
		||||
    listen  127.0.0.1:8080;
 | 
			
		||||
    listen  [::1]:8080;
 | 
			
		||||
    server_name  localhost;
 | 
			
		||||
 | 
			
		||||
    root   /usr/share/nginx/html;
 | 
			
		||||
    index  index.html;
 | 
			
		||||
 | 
			
		||||
    client_max_body_size 512M;
 | 
			
		||||
    proxy_buffering off;
 | 
			
		||||
 | 
			
		||||
    # Set no-cache for the index.html only so that browsers always check for a new copy of Element Web.
 | 
			
		||||
    location = /index.html {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
    location = /version {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
    # covers config.json and config.hostname.json requests as it is prefix.
 | 
			
		||||
    location /config {
 | 
			
		||||
        add_header Cache-Control "no-cache";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    # redirect server error pages to the static page /50x.html
 | 
			
		||||
    #
 | 
			
		||||
    error_page   500 502 503 504  /50x.html;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										94
									
								
								development/matrix_extDB/matrix_noDB_redis/dconf/nginx.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								development/matrix_extDB/matrix_noDB_redis/dconf/nginx.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,94 @@
 | 
			
		|||
# /etc/nginx/nginx.conf
 | 
			
		||||
 | 
			
		||||
user nginx;
 | 
			
		||||
 | 
			
		||||
# Set number of worker processes automatically based on number of CPU cores.
 | 
			
		||||
worker_processes auto;
 | 
			
		||||
 | 
			
		||||
# Enables the use of JIT for regular expressions to speed-up their processing.
 | 
			
		||||
pcre_jit on;
 | 
			
		||||
 | 
			
		||||
# Configures default error logger.
 | 
			
		||||
error_log /var/log/nginx/error.log warn;
 | 
			
		||||
 | 
			
		||||
# Includes files with directives to load dynamic modules.
 | 
			
		||||
include /etc/nginx/modules/*.conf;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
events {
 | 
			
		||||
	# The maximum number of simultaneous connections that can be opened by
 | 
			
		||||
	# a worker process.
 | 
			
		||||
	worker_connections 1024;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
http {
 | 
			
		||||
        server_names_hash_bucket_size 64;
 | 
			
		||||
        map_hash_bucket_size 128;
 | 
			
		||||
 | 
			
		||||
	# Includes mapping of file name extensions to MIME types of responses
 | 
			
		||||
	# and defines the default type.
 | 
			
		||||
	include /etc/nginx/mime.types;
 | 
			
		||||
	default_type application/octet-stream;
 | 
			
		||||
 | 
			
		||||
	# Name servers used to resolve names of upstream servers into addresses.
 | 
			
		||||
	# It's also needed when using tcpsocket and udpsocket in Lua modules.
 | 
			
		||||
	#resolver 208.67.222.222 208.67.220.220;
 | 
			
		||||
 | 
			
		||||
	# Don't tell nginx version to clients.
 | 
			
		||||
	server_tokens off;
 | 
			
		||||
 | 
			
		||||
	# Specifies the maximum accepted body size of a client request, as
 | 
			
		||||
	# indicated by the request header Content-Length. If the stated content
 | 
			
		||||
	# length is greater than this size, then the client receives the HTTP
 | 
			
		||||
	# error code 413. Set to 0 to disable.
 | 
			
		||||
	client_max_body_size 1m;
 | 
			
		||||
 | 
			
		||||
	# Timeout for keep-alive connections. Server will close connections after
 | 
			
		||||
	# this time.
 | 
			
		||||
	keepalive_timeout 65;
 | 
			
		||||
 | 
			
		||||
	# Sendfile copies data between one FD and other from within the kernel,
 | 
			
		||||
	# which is more efficient than read() + write().
 | 
			
		||||
	sendfile on;
 | 
			
		||||
 | 
			
		||||
	# Don't buffer data-sends (disable Nagle algorithm).
 | 
			
		||||
	# Good for sending frequent small bursts of data in real time.
 | 
			
		||||
	tcp_nodelay on;
 | 
			
		||||
 | 
			
		||||
	# Causes nginx to attempt to send its HTTP response head in one packet,
 | 
			
		||||
	# instead of using partial frames.
 | 
			
		||||
	#tcp_nopush on;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Path of the file with Diffie-Hellman parameters for EDH ciphers.
 | 
			
		||||
	#ssl_dhparam /etc/ssl/nginx/dh2048.pem;
 | 
			
		||||
 | 
			
		||||
	# Specifies that our cipher suits should be preferred over client ciphers.
 | 
			
		||||
	ssl_prefer_server_ciphers on;
 | 
			
		||||
 | 
			
		||||
	# Enables a shared SSL cache with size that can hold around 8000 sessions.
 | 
			
		||||
	ssl_session_cache shared:SSL:2m;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Enable gzipping of responses.
 | 
			
		||||
	#gzip on;
 | 
			
		||||
 | 
			
		||||
	# Set the Vary HTTP header as defined in the RFC 2616.
 | 
			
		||||
	gzip_vary on;
 | 
			
		||||
 | 
			
		||||
	# Enable checking the existence of precompressed files.
 | 
			
		||||
	#gzip_static on;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Specifies the main log format.
 | 
			
		||||
	log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 | 
			
		||||
			'$status $body_bytes_sent "$http_referer" '
 | 
			
		||||
			'"$http_user_agent" "$http_x_forwarded_for"';
 | 
			
		||||
 | 
			
		||||
	# Sets the path, format, and configuration for a buffered log write.
 | 
			
		||||
	access_log /var/log/nginx/access.log main;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Includes virtual hosts configs.
 | 
			
		||||
	include /etc/nginx/conf.d/*;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  synapse:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
      - DBNAME=${dbname}
 | 
			
		||||
      - DBHOST=${dbhost}
 | 
			
		||||
      - DBUSER=${dbuser}
 | 
			
		||||
      - DBPASSWORD=${dbpassword}
 | 
			
		||||
      - REDISHOST=${redishost}
 | 
			
		||||
      - REDISPORT=${redisport}
 | 
			
		||||
      - TURNPORT=${turnport}
 | 
			
		||||
      - TURNHOST=${turnhost}
 | 
			
		||||
      - TURNSECRET=${turnsecret}
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    entrypoint: sh -c "/data/homeserver.yaml.sh && chmod -R 777 /data  && /start.py"
 | 
			
		||||
 | 
			
		||||
  element:
 | 
			
		||||
    image: vectorim/element-web:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./element/config.json.sh:/app/config.json.sh
 | 
			
		||||
      - ./element/element.conf.sh:/app/element.conf.sh
 | 
			
		||||
      - ./element/redirector.conf.sh:/app/redirector.conf.sh
 | 
			
		||||
      - ./element/synapse.conf.sh:/app/synapse.conf.sh
 | 
			
		||||
      - ./conf:/etc/nginx/conf.d
 | 
			
		||||
      - ./etcletsencrypt:/etc/letsencrypt
 | 
			
		||||
      - ./dconf/nginx.conf:/etc/nginx/nginx.conf
 | 
			
		||||
    command: sh -c "/app/config.json.sh && /app/element.conf.sh && /app/redirector.conf.sh && /app/synapse.conf.sh && nginx -g 'daemon off;'"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
 | 
			
		||||
  synapse-generic-worker-all:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    container_name: synapse-generic-worker-all
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-all.yaml"]
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test: ["CMD-SHELL", "curl -fSs http://localhost:8081/health || exit 1"]
 | 
			
		||||
      start_period: "5s"
 | 
			
		||||
      interval: "15s"
 | 
			
		||||
      timeout: "5s"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    environment:
 | 
			
		||||
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - synapse
 | 
			
		||||
 | 
			
		||||
  synapse-generic-worker-sync:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    container_name: synapse-generic-worker-sync
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-sync.yaml"]
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test: ["CMD-SHELL", "curl -fSs http://localhost:8083/health || exit 1"]
 | 
			
		||||
      start_period: "5s"
 | 
			
		||||
      interval: "15s"
 | 
			
		||||
      timeout: "5s"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    environment:
 | 
			
		||||
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - synapse
 | 
			
		||||
 | 
			
		||||
  synapse-federation-sender-1:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    container_name: synapse-federation-sender-1
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-1.yaml"]
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      disable: true
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    environment:
 | 
			
		||||
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - synapse
 | 
			
		||||
 | 
			
		||||
  redis:
 | 
			
		||||
    image: "redis:latest"
 | 
			
		||||
    restart: "unless-stopped"
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
							
								
								
									
										55
									
								
								development/matrix_extDB/matrix_noDB_redis/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								development/matrix_extDB/matrix_noDB_redis/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
/docker-entrypoint.sh
 | 
			
		||||
 | 
			
		||||
cat << EOF > /app/config.json
 | 
			
		||||
{
 | 
			
		||||
    "default_server_config": {
 | 
			
		||||
        "m.homeserver": {
 | 
			
		||||
            "base_url": "https://$PUBLICBASEURL",
 | 
			
		||||
            "server_name": "$SERVERNAME"
 | 
			
		||||
        },
 | 
			
		||||
        "m.identity_server": {
 | 
			
		||||
            "base_url": "https://vector.im"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "disable_custom_urls": false,
 | 
			
		||||
    "disable_guests": false,
 | 
			
		||||
    "disable_login_language_selector": false,
 | 
			
		||||
    "disable_3pid_login": false,
 | 
			
		||||
    "brand": "Element",
 | 
			
		||||
    "integrations_ui_url": "https://scalar.vector.im/",
 | 
			
		||||
    "integrations_rest_url": "https://scalar.vector.im/api",
 | 
			
		||||
    "integrations_widgets_urls": [
 | 
			
		||||
        "https://scalar.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar-staging.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.riot.im/scalar/api"
 | 
			
		||||
    ],
 | 
			
		||||
    "default_country_code": "GB",
 | 
			
		||||
    "show_labs_settings": false,
 | 
			
		||||
    "features": {},
 | 
			
		||||
    "default_federate": true,
 | 
			
		||||
    "default_theme": "light",
 | 
			
		||||
    "room_directory": {
 | 
			
		||||
        "servers": ["matrix.org"]
 | 
			
		||||
    },
 | 
			
		||||
    "enable_presence_by_hs_url": {
 | 
			
		||||
        "https://matrix.org": false,
 | 
			
		||||
        "https://matrix-client.matrix.org": false
 | 
			
		||||
    },
 | 
			
		||||
    "setting_defaults": {
 | 
			
		||||
        "breadcrumbs": true
 | 
			
		||||
    },
 | 
			
		||||
    "jitsi": {
 | 
			
		||||
        "preferred_domain": "meet.element.io"
 | 
			
		||||
    },
 | 
			
		||||
    "element_call": {
 | 
			
		||||
        "url": "https://call.element.io",
 | 
			
		||||
        "participant_limit": 8,
 | 
			
		||||
        "brand": "Element Call"
 | 
			
		||||
    },
 | 
			
		||||
    "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										30
									
								
								development/matrix_extDB/matrix_noDB_redis/element/element.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								development/matrix_extDB/matrix_noDB_redis/element/element.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/element.conf
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    server_name $ELEMENTWEB;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$ELEMENTWEB/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$ELEMENTWEB/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    client_max_body_size 512m;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
      proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 | 
			
		||||
      proxy_set_header X-Forwarded-Proto \$scheme;
 | 
			
		||||
      proxy_set_header Host \$http_host;
 | 
			
		||||
      proxy_set_header X-Real-IP \$remote_addr;
 | 
			
		||||
 | 
			
		||||
      add_header X-Frame-Options SAMEORIGIN;
 | 
			
		||||
      add_header X-Content-Type-Options nosniff;
 | 
			
		||||
      add_header X-XSS-Protection "1; mode=block";
 | 
			
		||||
      add_header Content-Security-Policy "frame-ancestors 'none'";
 | 
			
		||||
 | 
			
		||||
      proxy_pass http://localhost:8080;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										31
									
								
								development/matrix_extDB/matrix_noDB_redis/element/redirector.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								development/matrix_extDB/matrix_noDB_redis/element/redirector.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/redirector.conf
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$SERVERNAME/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$SERVERNAME/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    server_name $SERVERNAME;
 | 
			
		||||
    proxy_buffering off;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    location /.well-known/matrix/server {
 | 
			
		||||
      default_type application/json;
 | 
			
		||||
      return 200 '{"m.server": "$PUBLICBASEURL:443" }';
 | 
			
		||||
    }
 | 
			
		||||
    location /.well-known/matrix/client {
 | 
			
		||||
      default_type application/json;
 | 
			
		||||
      return 200 '{ "m.homeserver": { "base_url": "https://$PUBLICBASEURL" } }';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
        proxy_buffering off;
 | 
			
		||||
        client_max_body_size 512M;
 | 
			
		||||
        return 301 https://$ELEMENTWEB;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										145
									
								
								development/matrix_extDB/matrix_noDB_redis/element/synapse.conf.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										145
									
								
								development/matrix_extDB/matrix_noDB_redis/element/synapse.conf.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,145 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
cat << EOF > /etc/nginx/conf.d/synapse.conf
 | 
			
		||||
upstream synapse_master {
 | 
			
		||||
	server localhost:8008;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
upstream synapse_federation {
 | 
			
		||||
	server localhost:8082;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
upstream synapse_generic {
 | 
			
		||||
	server localhost:8081;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
upstream synapse_generic_sync {
 | 
			
		||||
        server localhost:8083;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
map \$request_uri \$synapse_backend {
 | 
			
		||||
	default synapse_master;
 | 
			
		||||
 | 
			
		||||
	# Sync requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3)/sync\$ synapse_sync;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/events\$ synapse_sync;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/initialSync\$ synapse_sync;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync\$ synapse_sync;
 | 
			
		||||
 | 
			
		||||
	# Federation requests
 | 
			
		||||
	~*^/_matrix/federation/v1/event/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/state/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/state_ids/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/backfill/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/get_missing_events/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/publicRooms synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/query/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/make_join/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/make_leave/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/send_join/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/send_leave/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/(v1|v2)/invite/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/event_auth/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/exchange_third_party_invite/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/user/devices/ synapse_federation;
 | 
			
		||||
	~*^/_matrix/key/v2/query synapse_federation;
 | 
			
		||||
	~*^/_matrix/federation/v1/hierarchy/ synapse_federation;
 | 
			
		||||
 | 
			
		||||
	# Inbound federation transaction request
 | 
			
		||||
	~*^/_matrix/federation/v1/send/ synapse_federation;
 | 
			
		||||
 | 
			
		||||
	# Client API requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/createRoom\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/publicRooms\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/joined_members\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/context/.*\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/members\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/v1/rooms/.*/hierarchy\$ synaspe_generic;
 | 
			
		||||
	~*^/_matrix/client/unstable/org.matrix.msc2716/rooms/.*/batch_send\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/unstable/im.nheko.summary/rooms/.*/summary\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/account/3pid\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/account/whoami\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/devices\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/versions\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/voip/turnServer\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/event/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/joined_rooms\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/search\$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Encryption requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/query\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/changes\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/keys/claim\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/room_keys/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Registration/login requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/login\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/register\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/v1/register/m.login.registration_token/validity\$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Event sending requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/redact synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/send synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)\$ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/join/ synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/profile/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Account data requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/.*/tags synapse_generic;
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/.*/account_data synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Receipts requests
 | 
			
		||||
	#~*^/_matrix/client/(r0|v3|unstable)/rooms/.*/receipt synapse_generic;
 | 
			
		||||
	#~*^/_matrix/client/(r0|v3|unstable)/rooms/.*/read_markers synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# Presence requests
 | 
			
		||||
	~*^/_matrix/client/(api/v1|r0|v3|unstable)/presence/ synapse_generic;
 | 
			
		||||
 | 
			
		||||
	# User directory search requests
 | 
			
		||||
	~*^/_matrix/client/(r0|v3|unstable)/user_directory/search\$ synapse_generic;
 | 
			
		||||
      
 | 
			
		||||
        # for all SSO providers
 | 
			
		||||
        ~*^/_matrix/client/(api/v1|r0|v3|unstable)/login/sso/redirect synapse_generic;
 | 
			
		||||
        ~*^/_synapse/client/pick_idp$ synapse_generic;
 | 
			
		||||
        ~*^/_synapse/client/pick_username synapse_generic;
 | 
			
		||||
        ~*^/_synapse/client/new_user_consent$ synapse_generic;
 | 
			
		||||
        ~*^/_synapse/client/sso_register$ synapse_generic;
 | 
			
		||||
 | 
			
		||||
        # OpenID Connect requests.
 | 
			
		||||
        ~*^/_synapse/client/oidc/callback$ synapse_generic;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
server {
 | 
			
		||||
    listen 443 ssl http2;
 | 
			
		||||
    listen [::]:443 ssl http2;
 | 
			
		||||
 | 
			
		||||
    ssl_certificate      /etc/letsencrypt/live/$PUBLICBASEURL/fullchain.pem;
 | 
			
		||||
    ssl_certificate_key  /etc/letsencrypt/live/$PUBLICBASEURL/privkey.pem;
 | 
			
		||||
 | 
			
		||||
    server_name $PUBLICBASEURL;
 | 
			
		||||
    
 | 
			
		||||
    client_max_body_size 512m;
 | 
			
		||||
 | 
			
		||||
    error_page 403 404 /403_404.html;
 | 
			
		||||
    location = /403_404.html {
 | 
			
		||||
	    default_type application/json;
 | 
			
		||||
	    return 200 'You are not authorized to access this page.';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    location ~ /_matrix|/_synapse {
 | 
			
		||||
      proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 | 
			
		||||
      proxy_set_header X-Forwarded-Proto \$scheme;
 | 
			
		||||
      proxy_set_header Host \$http_host;
 | 
			
		||||
      proxy_set_header X-Real-IP \$remote_addr;
 | 
			
		||||
      proxy_connect_timeout 3600;
 | 
			
		||||
      proxy_send_timeout 3600;
 | 
			
		||||
      proxy_read_timeout 3600;
 | 
			
		||||
      send_timeout 3600;
 | 
			
		||||
      proxy_pass http://\$synapse_backend;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
							
								
								
									
										33
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/generic-worker-log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/generic-worker-log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
							
								
								
									
										2948
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2948
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										33
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_extDB/matrix_noDB_redis/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
worker_app: synapse.app.generic_worker
 | 
			
		||||
worker_name: synapse-federation-sender-1
 | 
			
		||||
 | 
			
		||||
worker_listeners:
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 8082
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [federation]
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 9082
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [replication]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
worker_log_config: /data/federation_sender.log.yaml
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
worker_app: synapse.app.generic_worker
 | 
			
		||||
worker_name: synapse-generic-worker-all
 | 
			
		||||
 | 
			
		||||
worker_listeners:
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 8081
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [client]
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 9081
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [replication]
 | 
			
		||||
 | 
			
		||||
worker_log_config: /data/generic-worker-log.yaml
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
worker_app: synapse.app.generic_worker
 | 
			
		||||
worker_name: synapse-generic-worker-sync
 | 
			
		||||
 | 
			
		||||
worker_listeners:
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 8083
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [client]
 | 
			
		||||
  - type: http
 | 
			
		||||
    port: 9083
 | 
			
		||||
    resources:
 | 
			
		||||
      - names: [replication]
 | 
			
		||||
 | 
			
		||||
worker_log_config: /data/generic-worker-log.yaml
 | 
			
		||||
							
								
								
									
										3
									
								
								development/matrix_extDB/postgresql/.env
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								development/matrix_extDB/postgresql/.env
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
dbuser=synapse
 | 
			
		||||
dbpassword=NEEDTOSETPASSWORD
 | 
			
		||||
dbname=synapse
 | 
			
		||||
							
								
								
									
										15
									
								
								development/matrix_extDB/postgresql/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								development/matrix_extDB/postgresql/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-09-12 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* Postresql: registry.ipv6.docker.com/library/postgres
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up matrix for  ...
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										14
									
								
								development/matrix_extDB/postgresql/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								development/matrix_extDB/postgresql/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  postgres:
 | 
			
		||||
    image: postgres:14
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - "5432:5432/tcp"
 | 
			
		||||
    volumes:
 | 
			
		||||
     - ./postgresdata:/var/lib/postgresql/data
 | 
			
		||||
    environment:
 | 
			
		||||
     - POSTGRES_DB=${dbname}
 | 
			
		||||
     - POSTGRES_USER=${dbuser}
 | 
			
		||||
     - POSTGRES_PASSWORD=${dbpassword}
 | 
			
		||||
     - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
 | 
			
		||||
							
								
								
									
										3
									
								
								development/matrix_includeDB/.env
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								development/matrix_includeDB/.env
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
homeServerFQDN=homeServerFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
synapseFQDN=synapse.sample.matrix.ungleich.cloud
 | 
			
		||||
elementWebFQDN=elementWebFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
							
								
								
									
										35
									
								
								development/matrix_includeDB/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								development/matrix_includeDB/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
## Usage and Components
 | 
			
		||||
 | 
			
		||||
Note: as of 2023-09-01 this docker-compose is available internally.
 | 
			
		||||
 | 
			
		||||
### Versions
 | 
			
		||||
 | 
			
		||||
* Element: https://hub.docker.com/r/vectorim/element-web/tags
 | 
			
		||||
* Synapse: https://hub.docker.com/r/matrixdotorg/synapse/tags
 | 
			
		||||
 | 
			
		||||
### Domains / homeserver.yaml and element-config.json
 | 
			
		||||
 | 
			
		||||
* synapseFQDN: on which domain the home server is reachable
 | 
			
		||||
* elementWebFQDN: on which domain element web will be deployed
 | 
			
		||||
* homeServerFQDN: the "matrix domain" that identifies the users
 | 
			
		||||
 | 
			
		||||
### Sample usage
 | 
			
		||||
 | 
			
		||||
Setting up matrix for  ...
 | 
			
		||||
 | 
			
		||||
- the matrix domain "fn.nf"
 | 
			
		||||
- the homeserver "homeserver.fn.nf"
 | 
			
		||||
- element web on m.fn.nf
 | 
			
		||||
 | 
			
		||||
- set domains via .env
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
homeServerFQDN=homeServerFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
synapseFQDN=synapse.sample.matrix.ungleich.cloud
 | 
			
		||||
elementWebFQDN=elementWebFQDN.sample.matrix.ungleich.cloud
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										44
									
								
								development/matrix_includeDB/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								development/matrix_includeDB/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  synapse:
 | 
			
		||||
    image: matrixdotorg/synapse:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
    ports:
 | 
			
		||||
      - "8008:8008/tcp"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./synapse:/data
 | 
			
		||||
    entrypoint: sh -c "/data/homeserver.yaml.sh && chmod -R 777 /data  && /start.py"
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - postgres
 | 
			
		||||
 | 
			
		||||
  element:
 | 
			
		||||
    image: vectorim/element-web:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - SERVERNAME=${homeServerFQDN}
 | 
			
		||||
      - PUBLICBASEURL=${synapseFQDN}
 | 
			
		||||
      - ELEMENTWEB=${elementWebFQDN}
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./element/config.json.sh:/app/config.json.sh
 | 
			
		||||
    command: sh -c "/app/config.json.sh && nginx -g 'daemon off;'"
 | 
			
		||||
    #entrypoint: /app/config.json.sh
 | 
			
		||||
    ports:
 | 
			
		||||
      - "80:80/tcp"
 | 
			
		||||
 | 
			
		||||
  postgres:
 | 
			
		||||
    image: postgres:14
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - "5432:5432/tcp"
 | 
			
		||||
    volumes:
 | 
			
		||||
     - ./postgresdata:/var/lib/postgresql/data
 | 
			
		||||
    environment:
 | 
			
		||||
     - POSTGRES_DB=synapse
 | 
			
		||||
     - POSTGRES_USER=synapse
 | 
			
		||||
     - POSTGRES_PASSWORD=NEEDTOSETPASSWORD
 | 
			
		||||
     - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
 | 
			
		||||
							
								
								
									
										55
									
								
								development/matrix_includeDB/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								development/matrix_includeDB/element/config.json.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
/docker-entrypoint.sh
 | 
			
		||||
 | 
			
		||||
cat << EOF > /app/config.json
 | 
			
		||||
{
 | 
			
		||||
    "default_server_config": {
 | 
			
		||||
        "m.homeserver": {
 | 
			
		||||
            "base_url": "https://$PUBLICBASEURL",
 | 
			
		||||
            "server_name": "$SERVERNAME"
 | 
			
		||||
        },
 | 
			
		||||
        "m.identity_server": {
 | 
			
		||||
            "base_url": "https://vector.im"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "disable_custom_urls": false,
 | 
			
		||||
    "disable_guests": false,
 | 
			
		||||
    "disable_login_language_selector": false,
 | 
			
		||||
    "disable_3pid_login": false,
 | 
			
		||||
    "brand": "Element",
 | 
			
		||||
    "integrations_ui_url": "https://scalar.vector.im/",
 | 
			
		||||
    "integrations_rest_url": "https://scalar.vector.im/api",
 | 
			
		||||
    "integrations_widgets_urls": [
 | 
			
		||||
        "https://scalar.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar-staging.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.riot.im/scalar/api"
 | 
			
		||||
    ],
 | 
			
		||||
    "default_country_code": "GB",
 | 
			
		||||
    "show_labs_settings": false,
 | 
			
		||||
    "features": {},
 | 
			
		||||
    "default_federate": true,
 | 
			
		||||
    "default_theme": "light",
 | 
			
		||||
    "room_directory": {
 | 
			
		||||
        "servers": ["matrix.org"]
 | 
			
		||||
    },
 | 
			
		||||
    "enable_presence_by_hs_url": {
 | 
			
		||||
        "https://matrix.org": false,
 | 
			
		||||
        "https://matrix-client.matrix.org": false
 | 
			
		||||
    },
 | 
			
		||||
    "setting_defaults": {
 | 
			
		||||
        "breadcrumbs": true
 | 
			
		||||
    },
 | 
			
		||||
    "jitsi": {
 | 
			
		||||
        "preferred_domain": "meet.element.io"
 | 
			
		||||
    },
 | 
			
		||||
    "element_call": {
 | 
			
		||||
        "url": "https://call.element.io",
 | 
			
		||||
        "participant_limit": 8,
 | 
			
		||||
        "brand": "Element Call"
 | 
			
		||||
    },
 | 
			
		||||
    "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										2925
									
								
								development/matrix_includeDB/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2925
									
								
								development/matrix_includeDB/synapse/homeserver.yaml.sh
									
										
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										33
									
								
								development/matrix_includeDB/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								development/matrix_includeDB/synapse/log.yaml
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
version: 1
 | 
			
		||||
 | 
			
		||||
formatters:
 | 
			
		||||
  fmt:
 | 
			
		||||
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s'
 | 
			
		||||
 | 
			
		||||
filters:
 | 
			
		||||
  context:
 | 
			
		||||
    (): synapse.logging.context.LoggingContextFilter
 | 
			
		||||
    request: ""
 | 
			
		||||
 | 
			
		||||
handlers:
 | 
			
		||||
  console:
 | 
			
		||||
    class: logging.StreamHandler
 | 
			
		||||
    formatter: fmt
 | 
			
		||||
    filters: [context]
 | 
			
		||||
 | 
			
		||||
root:
 | 
			
		||||
  level: INFO
 | 
			
		||||
  handlers: [console] # to use file handler instead, switch to [file]
 | 
			
		||||
 | 
			
		||||
loggers:
 | 
			
		||||
  synapse:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  synapse.storage.SQL:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap3:
 | 
			
		||||
    level: INFO
 | 
			
		||||
 | 
			
		||||
  ldap_auth_provider:
 | 
			
		||||
    level: INFO
 | 
			
		||||
							
								
								
									
										22
									
								
								development/redis-tls/cert/CA-cert.pem
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								development/redis-tls/cert/CA-cert.pem
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIDmTCCAoGgAwIBAgIJAMHmbq/tHCigMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNV
 | 
			
		||||
BAYTAktSMQ4wDAYDVQQIDAVTZW91bDEOMAwGA1UEBwwFU2VvdWwxCjAIBgNVBAoM
 | 
			
		||||
AUIxCjAIBgNVBAsMAUIxCjAIBgNVBAMMAUIxEDAOBgkqhkiG9w0BCQEWAUIwHhcN
 | 
			
		||||
MjMxMDAyMTYyODE5WhcNMjYwNjI4MTYyODE5WjBjMQswCQYDVQQGEwJLUjEOMAwG
 | 
			
		||||
A1UECAwFU2VvdWwxDjAMBgNVBAcMBVNlb3VsMQowCAYDVQQKDAFCMQowCAYDVQQL
 | 
			
		||||
DAFCMQowCAYDVQQDDAFCMRAwDgYJKoZIhvcNAQkBFgFCMIIBIjANBgkqhkiG9w0B
 | 
			
		||||
AQEFAAOCAQ8AMIIBCgKCAQEA3yjjv250E1t7+1W43T9gb6dQ0EZP+9Sd5nxXLUzU
 | 
			
		||||
bEzJfTFOdBaN/i1x+R1bLeLN6/aJE+9zCl4N3qSLFNn/O0+w/U42WZyNxvo/5VHT
 | 
			
		||||
G1MNYT19InJ8SBR8V0r1FLdQsFfuK0f9HxLuYS6uNVCAgTUkDCXf4hDr4EKSY6hW
 | 
			
		||||
BV96X8psBOjeeXQmUh3gt/OvpmaQpALDxif+b7RPOotmfMDyfmDjBjjTLmNwgxXU
 | 
			
		||||
p7LdYcX/6VXHNy3HF2PAQbJ1MmaGiTK3hIAQKsJDtTYBmR2q5Ql2JEV+EUuwHBBh
 | 
			
		||||
K+w3Wa6tQf22ceKjITGDFfixXHhlSs9lM6iHhunFktDmhQIDAQABo1AwTjAdBgNV
 | 
			
		||||
HQ4EFgQU+TRnwFhV1Zl1ks+KWV7jD0t1p00wHwYDVR0jBBgwFoAU+TRnwFhV1Zl1
 | 
			
		||||
ks+KWV7jD0t1p00wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAmOPw
 | 
			
		||||
MHN9670pgp+Z2P/nvNPy1pyXHoBb8IF5P/CHo5liXzPzxL92qutdQ2sGXKvUuEv+
 | 
			
		||||
JsYU3bpT4BxIGtoNpr3m/NzoAYJ8uzPJv3o8Hv2JH7oFmseaFFWe+Uj50DtOyII2
 | 
			
		||||
OaP89YCwDapElygTJpsQ1FMIJvZytvrA3OWPTYgNhb0j3mLAzYVU+v+eMGBuphhg
 | 
			
		||||
t9Bh70oGujxQFftE00KoV3HLG5hRqHxdstUvJjz/F1H1cgY7stk39Szt4QKr0v1g
 | 
			
		||||
68XaM2lswYXOjoM1eCl+xJkmbTHvWPqEVF0VJsn7WKKIh2Fjk9zDsy5QNZb3wuQQ
 | 
			
		||||
/uLnUAOch/iPcM+nHw==
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										20
									
								
								development/redis-tls/cert/certificate.crt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								development/redis-tls/cert/certificate.crt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
-----BEGIN CERTIFICATE-----
 | 
			
		||||
MIIDPjCCAiYCCQC/ZryjNyHjPDANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJL
 | 
			
		||||
UjEOMAwGA1UECAwFU2VvdWwxDjAMBgNVBAcMBVNlb3VsMQowCAYDVQQKDAFCMQow
 | 
			
		||||
CAYDVQQLDAFCMQowCAYDVQQDDAFCMRAwDgYJKoZIhvcNAQkBFgFCMB4XDTIzMTAw
 | 
			
		||||
MjE2MjgyM1oXDTI0MTAwMTE2MjgyM1owXzELMAkGA1UEBhMCS1IxDjAMBgNVBAgM
 | 
			
		||||
BVNlb3VsMQ4wDAYDVQQHDAVTZW91bDEKMAgGA1UECgwBQjEKMAgGA1UECwwBQjEY
 | 
			
		||||
MBYGA1UEAwwPMTg1LjIwMy4xMTQuMTg3MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
 | 
			
		||||
MIIBCgKCAQEAv6HHkzEkZdER+fI3Lv3uKJsMLxOeAaKgC8frr7PaVXPRm3U8KErf
 | 
			
		||||
dhrvnfECspflA4JA+EGGENCrmrgUbB9XdOytoIqSGBWAHBTQiJa/bUcmitdVs/9V
 | 
			
		||||
VpfNDtn1cn3LjodF8SqmfG2aTiiySbhJnmbTf9a5mKZV20r+cVDXenhkMQohNyfx
 | 
			
		||||
G3KM2wD5G5RNZS+4jjaxKxXkL3BYk1pL8b+K5vV8vZDIll8wbZr+X3AzkjXw5RFm
 | 
			
		||||
XLsUfP5XVQnNUHOV81R5vKyRfM1LSk0c/ANa574mnsp1O8TraqFxyed7NuM9tNH1
 | 
			
		||||
lUQry2pjJKlVk3JUeUqagsClY5F36yyxlwIDAQABMA0GCSqGSIb3DQEBCwUAA4IB
 | 
			
		||||
AQB4yKEO+L3nyDTBlwCElvug1qnEHf8bLZglxAFtArqw6wtNlueSQiRJz2AvlAGl
 | 
			
		||||
l6KTVVNdgqBDlQ2Sxz+SyEmOKOyHXgbZCYmuinejXhooINIVhVYlB3LVEFaAmraM
 | 
			
		||||
44j770NmT2AwG7NWXuH4erhbHDnhR1/et6w7O5WRF8AeLzQLZyBCiVv3SHSKVoOM
 | 
			
		||||
BcDGuGhIRcUWs3F59MhxMMR04T32OZsbV9yTL32AG8GPQ+OvkgJGXLB/R00meV+g
 | 
			
		||||
RIZP1ITT9ka5fZjUtQoiQ2KZWhJIJ5HIcG3ksGTgEUNwBbIbdbkKtdOkDKK6QsAu
 | 
			
		||||
2DPQKBNx/NOS91Gijxj1FqVD
 | 
			
		||||
-----END CERTIFICATE-----
 | 
			
		||||
							
								
								
									
										28
									
								
								development/redis-tls/cert/certificate.key
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								development/redis-tls/cert/certificate.key
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/oceTMSRl0RH5
 | 
			
		||||
8jcu/e4omwwvE54BoqALx+uvs9pVc9GbdTwoSt92Gu+d8QKyl+UDgkD4QYYQ0Kua
 | 
			
		||||
uBRsH1d07K2gipIYFYAcFNCIlr9tRyaK11Wz/1VWl80O2fVyfcuOh0XxKqZ8bZpO
 | 
			
		||||
KLJJuEmeZtN/1rmYplXbSv5xUNd6eGQxCiE3J/EbcozbAPkblE1lL7iONrErFeQv
 | 
			
		||||
cFiTWkvxv4rm9Xy9kMiWXzBtmv5fcDOSNfDlEWZcuxR8/ldVCc1Qc5XzVHm8rJF8
 | 
			
		||||
zUtKTRz8A1rnviaeynU7xOtqoXHJ53s24z200fWVRCvLamMkqVWTclR5SpqCwKVj
 | 
			
		||||
kXfrLLGXAgMBAAECggEAKqEfl4PgF/JJcHPMiNyeRVQwgqx3gt+dgOFpcb2tvUK1
 | 
			
		||||
h0KuLjxxt4FIercppXca0AwCzfctjsIM2q9Gg8L5Hp6kBUmuNENcK2MJ/MikLvgb
 | 
			
		||||
/9jlTNRpNIkyabJc4qpPRRacnYiiXp23LNnqx3GClwVC2XZ39RhTkyP8tFKKjMim
 | 
			
		||||
2dqQN274dgISPk6WXKuoWAuqh5nlzHu+mwt59hpPuOdTD6cTxenXysfOjOiDyjhL
 | 
			
		||||
0oWrQ8L5Ss9qI3wJCWqrzMPkCD3H/3KZyxEuOAMXhcyTuB76k5/8AeUU0OssdzC4
 | 
			
		||||
cGac9RXs29BOoBeAZlHZ1+YFRdfDbp54Ibeadwc+SQKBgQDhdHM8c4wjRU5EIOC3
 | 
			
		||||
rM5sChkJIIoSgCST0/bbo85ByKAZhWZTOcmFg2xkmLhYQfJAdNNbfX6SM8R3aYDH
 | 
			
		||||
QMhaCdMgrR2+tK5ZzWR0qXGWiVvDFvWHycTkG3HXi7PK0gkWjjqIJKgow+GJIpGZ
 | 
			
		||||
W72auv3qcJIawaM6a+NeUbkb7QKBgQDZmDvmJr8MPkuc6xE7AFvEmTtE6GPhnY2B
 | 
			
		||||
DbO7mG32nPZItrPsnlpGfLdi+KKmWR9fmcAb+Ro/J2NcSIjhKTWThmiI3kzH9/Nh
 | 
			
		||||
Cy0LE0CSG/qs7Wk1GIK4TbtZ3O092cS6S11NbEqRLEC4ZCbd4EVDTgka5VHyW8ff
 | 
			
		||||
UEE+1QA7EwKBgQCPYI1AboM6kwK5FOeUJ5OG5c0SHt1v8opQcMZW3A95ims2j72J
 | 
			
		||||
RADCpdezCeSCTD4Re7pGPsLVm5JgFnpNPQetKv5Xk4CNHT6b4aD3CCMyhtwSb3Fq
 | 
			
		||||
D4jlQAbf+vo2C+i3rW/P0PAYLKormg5aJxunYS/Ffh2MYoS5zI7mFrbP6QKBgHS2
 | 
			
		||||
AurfvXmDsGrqasOK3a4FwpSjUW+iYlPmVZE5oUG1zyQRW1B/X0yPeI3NbvBqvTk5
 | 
			
		||||
7qESa9GT/udwwHqE8AfBADDpi6V2iUR0CiT2npvABiTa8qNYEkVo7CS3K0kRlUOX
 | 
			
		||||
SOROQXC8m7pLfc1kjcIcCSYz+lBUilBta5GYDhehAoGBAJuG4+yael49mSm8duFV
 | 
			
		||||
bNsJ+zOnbNzsm1ikc5Inmkzrw1DA1/BeQzogWyB4f5HpqPBkFdbczzH6n8gmoGa2
 | 
			
		||||
xcnwK3iQpf02XeoE9rHvBHdYiJvcaFH4xBvtaxh6p4+1fI0c3ibwXMUFBIlOQMZQ
 | 
			
		||||
4NjfiUn0a03X7iICTqmPOHOw
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										34
									
								
								development/redis-tls/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								development/redis-tls/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  predixy:
 | 
			
		||||
    image: haandol/predixy:latest
 | 
			
		||||
    container_name: predixy
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./predixy/conf:/etc/predixy/conf
 | 
			
		||||
  redis-master:
 | 
			
		||||
    container_name: "redis-master"
 | 
			
		||||
    image: redis:7.2-alpine
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    command: redis-server /etc/redis.conf
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./redis-master.conf:/etc/redis.conf
 | 
			
		||||
      - ./masterdata:/data
 | 
			
		||||
      - ./cert/certificate.crt:/etc/certificate.crt
 | 
			
		||||
      - ./cert/certificate.key:/etc/certificate.key
 | 
			
		||||
      - ./cert/CA-cert.pem:/etc/CA-cert.pem
 | 
			
		||||
    restart: always
 | 
			
		||||
  redis-slave:
 | 
			
		||||
    container_name: "redis-slave"
 | 
			
		||||
    image: redis:7.2-alpine
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    command: redis-server /etc/redis.conf
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./redis-slave.conf:/etc/redis.conf
 | 
			
		||||
      - ./slavedata:/data
 | 
			
		||||
      - ./cert/certificate.crt:/etc/certificate.crt
 | 
			
		||||
      - ./cert/certificate.key:/etc/certificate.key
 | 
			
		||||
      - ./cert/CA-cert.pem:/etc/CA-cert.pem
 | 
			
		||||
    restart: always
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - redis-master
 | 
			
		||||
							
								
								
									
										8
									
								
								development/redis-tls/predixy/conf/auth.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								development/redis-tls/predixy/conf/auth.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
Authority {
 | 
			
		||||
    Auth {
 | 
			
		||||
        Mode write
 | 
			
		||||
    }
 | 
			
		||||
    Auth "#bccomplexpassword#" {
 | 
			
		||||
        Mode admin
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								development/redis-tls/predixy/conf/cluster.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								development/redis-tls/predixy/conf/cluster.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
## redis cluster server pool define
 | 
			
		||||
 | 
			
		||||
ClusterServerPool {
 | 
			
		||||
    MasterReadPriority 60
 | 
			
		||||
    StaticSlaveReadPriority 50
 | 
			
		||||
    DynamicSlaveReadPriority 50
 | 
			
		||||
    RefreshInterval 1
 | 
			
		||||
    ServerTimeout 1
 | 
			
		||||
    ServerFailureLimit 10
 | 
			
		||||
    ServerRetryTimeout 1
 | 
			
		||||
    KeepAlive 120
 | 
			
		||||
    Servers {
 | 
			
		||||
        + redis-node1.ungleich.cloud:6379
 | 
			
		||||
        + redis-node2.ungleich.cloud:6379
 | 
			
		||||
        + redis-node3.ungleich.cloud:6379
 | 
			
		||||
        + redis-node1.ungleich.cloud:6479
 | 
			
		||||
        + redis-node2.ungleich.cloud:6479
 | 
			
		||||
        + redis-node3.ungleich.cloud:6479
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										104
									
								
								development/redis-tls/predixy/conf/latency.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								development/redis-tls/predixy/conf/latency.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,104 @@
 | 
			
		|||
LatencyMonitor all {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + all
 | 
			
		||||
        - blpop
 | 
			
		||||
        - brpop
 | 
			
		||||
        - brpoplpush
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
        + 1200
 | 
			
		||||
        + 1400
 | 
			
		||||
        + 1600
 | 
			
		||||
        + 1700
 | 
			
		||||
        + 1800
 | 
			
		||||
        + 2000
 | 
			
		||||
        + 2500
 | 
			
		||||
        + 3000
 | 
			
		||||
        + 3500
 | 
			
		||||
        + 4000
 | 
			
		||||
        + 4500
 | 
			
		||||
        + 5000
 | 
			
		||||
        + 6000
 | 
			
		||||
        + 7000
 | 
			
		||||
        + 8000
 | 
			
		||||
        + 9000
 | 
			
		||||
        + 10000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor get {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + get
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor set {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + set
 | 
			
		||||
        + setnx
 | 
			
		||||
        + setex
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor blist {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + blpop
 | 
			
		||||
        + brpop
 | 
			
		||||
        + brpoplpush
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 1000
 | 
			
		||||
        + 2000
 | 
			
		||||
        + 3000
 | 
			
		||||
        + 4000
 | 
			
		||||
        + 5000
 | 
			
		||||
        + 6000
 | 
			
		||||
        + 7000
 | 
			
		||||
        + 8000
 | 
			
		||||
        + 9000
 | 
			
		||||
        + 10000
 | 
			
		||||
        + 20000
 | 
			
		||||
        + 30000
 | 
			
		||||
        + 40000
 | 
			
		||||
        + 50000
 | 
			
		||||
        + 60000
 | 
			
		||||
        + 70000
 | 
			
		||||
        + 80000
 | 
			
		||||
        + 90000
 | 
			
		||||
        + 100000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								development/redis-tls/predixy/conf/predixy.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								development/redis-tls/predixy/conf/predixy.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
################################### GENERAL ####################################
 | 
			
		||||
## Predixy configuration file example
 | 
			
		||||
 | 
			
		||||
## Specify a name for this predixy service
 | 
			
		||||
## redis command INFO can get this
 | 
			
		||||
Name PredixyExample
 | 
			
		||||
 | 
			
		||||
## Default is 0.0.0.0:7617
 | 
			
		||||
Bind 0.0.0.0:7300
 | 
			
		||||
 | 
			
		||||
## Worker threads
 | 
			
		||||
WorkerThreads 4
 | 
			
		||||
 | 
			
		||||
MaxMemory 0
 | 
			
		||||
 | 
			
		||||
ClientTimeout 300
 | 
			
		||||
 | 
			
		||||
Log /etc/predixy/conf/predixy.log
 | 
			
		||||
 | 
			
		||||
LogVerbSample 0
 | 
			
		||||
LogDebugSample 0
 | 
			
		||||
LogInfoSample 10000
 | 
			
		||||
LogNoticeSample 1
 | 
			
		||||
LogWarnSample 1
 | 
			
		||||
LogErrorSample 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
################################### AUTHORITY ##################################
 | 
			
		||||
Include auth.conf
 | 
			
		||||
 | 
			
		||||
################################### SERVERS ####################################
 | 
			
		||||
Include cluster.conf
 | 
			
		||||
# Include sentinel.conf
 | 
			
		||||
# Include try.conf
 | 
			
		||||
 | 
			
		||||
################################### LATENCY ####################################
 | 
			
		||||
## Latency monitor define, see latency.conf
 | 
			
		||||
Include latency.conf
 | 
			
		||||
							
								
								
									
										13
									
								
								development/redis-tls/redis-master.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								development/redis-tls/redis-master.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
cluster-enabled yes
 | 
			
		||||
cluster-node-timeout 5000
 | 
			
		||||
cluster-require-full-coverage yes
 | 
			
		||||
appendonly yes
 | 
			
		||||
#port 7001
 | 
			
		||||
tls-cluster yes
 | 
			
		||||
tls-auth-clients no
 | 
			
		||||
#tls-replication yes
 | 
			
		||||
port 0
 | 
			
		||||
tls-port 6379
 | 
			
		||||
tls-cert-file /etc/certificate.crt
 | 
			
		||||
tls-key-file /etc/certificate.key
 | 
			
		||||
tls-ca-cert-file /etc/CA-cert.pem
 | 
			
		||||
							
								
								
									
										13
									
								
								development/redis-tls/redis-slave.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								development/redis-tls/redis-slave.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
cluster-enabled yes
 | 
			
		||||
cluster-node-timeout 5000
 | 
			
		||||
cluster-require-full-coverage yes
 | 
			
		||||
appendonly yes
 | 
			
		||||
#port 7101
 | 
			
		||||
tls-cluster yes
 | 
			
		||||
tls-auth-clients no
 | 
			
		||||
tls-replication yes
 | 
			
		||||
port 0
 | 
			
		||||
tls-port 6479
 | 
			
		||||
tls-cert-file /etc/certificate.crt
 | 
			
		||||
tls-key-file /etc/certificate.key
 | 
			
		||||
tls-ca-cert-file /etc/CA-cert.pem
 | 
			
		||||
							
								
								
									
										28
									
								
								development/redis/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								development/redis/docker-compose.yaml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
version: '3'
 | 
			
		||||
services:
 | 
			
		||||
  predixy:
 | 
			
		||||
    image: haandol/predixy:latest
 | 
			
		||||
    container_name: predixy
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./predixy/conf:/etc/predixy/conf
 | 
			
		||||
  redis-master:
 | 
			
		||||
    container_name: "redis-master"
 | 
			
		||||
    image: redis:7.2-alpine
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    command: redis-server /etc/redis.conf
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./redis-master.conf:/etc/redis.conf
 | 
			
		||||
      - ./masterdata:/data
 | 
			
		||||
    restart: always
 | 
			
		||||
  redis-slave:
 | 
			
		||||
    container_name: "redis-slave"
 | 
			
		||||
    image: redis:7.2-alpine
 | 
			
		||||
    network_mode: "host"
 | 
			
		||||
    command: redis-server /etc/redis.conf
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./redis-slave.conf:/etc/redis.conf
 | 
			
		||||
      - ./slavedata:/data
 | 
			
		||||
    restart: always
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - redis-master
 | 
			
		||||
							
								
								
									
										8
									
								
								development/redis/predixy/conf/auth.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								development/redis/predixy/conf/auth.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
Authority {
 | 
			
		||||
    Auth {
 | 
			
		||||
        Mode write
 | 
			
		||||
    }
 | 
			
		||||
    Auth "#bccomplexpassword#" {
 | 
			
		||||
        Mode admin
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								development/redis/predixy/conf/cluster.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								development/redis/predixy/conf/cluster.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
## redis cluster server pool define
 | 
			
		||||
 | 
			
		||||
ClusterServerPool {
 | 
			
		||||
    MasterReadPriority 60
 | 
			
		||||
    StaticSlaveReadPriority 50
 | 
			
		||||
    DynamicSlaveReadPriority 50
 | 
			
		||||
    RefreshInterval 1
 | 
			
		||||
    ServerTimeout 1
 | 
			
		||||
    ServerFailureLimit 10
 | 
			
		||||
    ServerRetryTimeout 1
 | 
			
		||||
    KeepAlive 120
 | 
			
		||||
    Servers {
 | 
			
		||||
        + redis-node1.ungleich.cloud:7001
 | 
			
		||||
        + redis-node2.ungleich.cloud:7001
 | 
			
		||||
        + redis-node3.ungleich.cloud:7001
 | 
			
		||||
        + redis-node1.ungleich.cloud:7101
 | 
			
		||||
        + redis-node2.ungleich.cloud:7101
 | 
			
		||||
        + redis-node3.ungleich.cloud:7101
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										104
									
								
								development/redis/predixy/conf/latency.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								development/redis/predixy/conf/latency.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,104 @@
 | 
			
		|||
LatencyMonitor all {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + all
 | 
			
		||||
        - blpop
 | 
			
		||||
        - brpop
 | 
			
		||||
        - brpoplpush
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
        + 1200
 | 
			
		||||
        + 1400
 | 
			
		||||
        + 1600
 | 
			
		||||
        + 1700
 | 
			
		||||
        + 1800
 | 
			
		||||
        + 2000
 | 
			
		||||
        + 2500
 | 
			
		||||
        + 3000
 | 
			
		||||
        + 3500
 | 
			
		||||
        + 4000
 | 
			
		||||
        + 4500
 | 
			
		||||
        + 5000
 | 
			
		||||
        + 6000
 | 
			
		||||
        + 7000
 | 
			
		||||
        + 8000
 | 
			
		||||
        + 9000
 | 
			
		||||
        + 10000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor get {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + get
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor set {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + set
 | 
			
		||||
        + setnx
 | 
			
		||||
        + setex
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 100
 | 
			
		||||
        + 200
 | 
			
		||||
        + 300
 | 
			
		||||
        + 400
 | 
			
		||||
        + 500
 | 
			
		||||
        + 600
 | 
			
		||||
        + 700
 | 
			
		||||
        + 800
 | 
			
		||||
        + 900
 | 
			
		||||
        + 1000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
LatencyMonitor blist {
 | 
			
		||||
    Commands {
 | 
			
		||||
        + blpop
 | 
			
		||||
        + brpop
 | 
			
		||||
        + brpoplpush
 | 
			
		||||
    }
 | 
			
		||||
    TimeSpan {
 | 
			
		||||
        + 1000
 | 
			
		||||
        + 2000
 | 
			
		||||
        + 3000
 | 
			
		||||
        + 4000
 | 
			
		||||
        + 5000
 | 
			
		||||
        + 6000
 | 
			
		||||
        + 7000
 | 
			
		||||
        + 8000
 | 
			
		||||
        + 9000
 | 
			
		||||
        + 10000
 | 
			
		||||
        + 20000
 | 
			
		||||
        + 30000
 | 
			
		||||
        + 40000
 | 
			
		||||
        + 50000
 | 
			
		||||
        + 60000
 | 
			
		||||
        + 70000
 | 
			
		||||
        + 80000
 | 
			
		||||
        + 90000
 | 
			
		||||
        + 100000
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								development/redis/predixy/conf/predixy.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								development/redis/predixy/conf/predixy.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
################################### GENERAL ####################################
 | 
			
		||||
## Predixy configuration file example
 | 
			
		||||
 | 
			
		||||
## Specify a name for this predixy service
 | 
			
		||||
## redis command INFO can get this
 | 
			
		||||
Name PredixyExample
 | 
			
		||||
 | 
			
		||||
## Default is 0.0.0.0:7617
 | 
			
		||||
Bind 0.0.0.0:7300
 | 
			
		||||
 | 
			
		||||
## Worker threads
 | 
			
		||||
WorkerThreads 4
 | 
			
		||||
 | 
			
		||||
MaxMemory 0
 | 
			
		||||
 | 
			
		||||
ClientTimeout 300
 | 
			
		||||
 | 
			
		||||
Log /etc/predixy/conf/predixy.log
 | 
			
		||||
 | 
			
		||||
LogVerbSample 0
 | 
			
		||||
LogDebugSample 0
 | 
			
		||||
LogInfoSample 10000
 | 
			
		||||
LogNoticeSample 1
 | 
			
		||||
LogWarnSample 1
 | 
			
		||||
LogErrorSample 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
################################### AUTHORITY ##################################
 | 
			
		||||
Include auth.conf
 | 
			
		||||
 | 
			
		||||
################################### SERVERS ####################################
 | 
			
		||||
Include cluster.conf
 | 
			
		||||
# Include sentinel.conf
 | 
			
		||||
# Include try.conf
 | 
			
		||||
 | 
			
		||||
################################### LATENCY ####################################
 | 
			
		||||
## Latency monitor define, see latency.conf
 | 
			
		||||
Include latency.conf
 | 
			
		||||
							
								
								
									
										75
									
								
								development/redis/predixy/conf/predixy.log
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								development/redis/predixy/conf/predixy.log
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
2023-09-26 16:10:28.587875 N Proxy.cpp:112 predixy listen in 0.0.0.0:7300
 | 
			
		||||
2023-09-26 16:10:28.588171 N Proxy.cpp:143 predixy running with Name:PredixyExample Workers:4
 | 
			
		||||
2023-09-26 16:10:28.589548 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.211:7101
 | 
			
		||||
2023-09-26 16:10:28.589639 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.211:7101 9
 | 
			
		||||
2023-09-26 16:10:28.596954 N ClusterServerPool.cpp:174 redis cluster create new group 9a89cb0bf9e4a403bd8875fc9f783e54935b3f6b :7101@17101 myself,master -
 | 
			
		||||
2023-09-26 16:10:29.595047 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.220:7101
 | 
			
		||||
2023-09-26 16:10:29.595190 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.220:7101 10
 | 
			
		||||
2023-09-26 16:10:29.596290 N ClusterServerPool.cpp:174 redis cluster create new group 728512c4abb3e6cd7df6ec46efeace2cd24be5cc :7101@17101 myself,master -
 | 
			
		||||
2023-09-26 16:10:30.597794 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.219:7101
 | 
			
		||||
2023-09-26 16:10:30.597900 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.219:7101 11
 | 
			
		||||
2023-09-26 16:10:30.600884 N ClusterServerPool.cpp:174 redis cluster create new group a92b657d21d80ddd0b144276b6106ce6cc7b847c :7101@17101 myself,master -
 | 
			
		||||
2023-09-26 16:10:31.600400 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.211:7101
 | 
			
		||||
2023-09-26 16:10:31.600506 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.211:7101 12
 | 
			
		||||
2023-09-26 16:10:32.608599 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.220:7001
 | 
			
		||||
2023-09-26 16:10:32.608770 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.220:7001 13
 | 
			
		||||
2023-09-26 16:10:32.610100 N ClusterServerPool.cpp:174 redis cluster create new group 3212a757444eabeecf409fc46134e36b44f9bdf2 :7001@17001 myself,master -
 | 
			
		||||
2023-09-26 16:10:33.611837 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.219:7101
 | 
			
		||||
2023-09-26 16:10:33.611948 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.219:7101 14
 | 
			
		||||
2023-09-26 16:10:34.684681 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.219:7101
 | 
			
		||||
2023-09-26 16:10:34.684783 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.219:7101 15
 | 
			
		||||
2023-09-26 16:10:35.687556 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.219:7001
 | 
			
		||||
2023-09-26 16:10:35.687668 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.219:7001 16
 | 
			
		||||
2023-09-26 16:10:35.689825 N ClusterServerPool.cpp:174 redis cluster create new group 6a7ecdb9d5db221b39e6e168e2fa52e4f83b3252 :7001@17001 myself,master -
 | 
			
		||||
2023-09-26 16:10:36.690234 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.211:7001
 | 
			
		||||
2023-09-26 16:10:36.690327 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.211:7001 17
 | 
			
		||||
2023-09-26 16:10:36.692940 N ClusterServerPool.cpp:174 redis cluster create new group 1bed7719b0588caafc65182a5071cf3722abf131 :7001@17001 myself,master -
 | 
			
		||||
2023-09-26 16:10:38.695346 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.220:7101
 | 
			
		||||
2023-09-26 16:10:38.695459 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.220:7101 18
 | 
			
		||||
2023-09-26 16:10:40.700876 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.219:7001
 | 
			
		||||
2023-09-26 16:10:40.700969 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.219:7001 19
 | 
			
		||||
2023-09-26 16:10:41.703501 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.211:7101
 | 
			
		||||
2023-09-26 16:10:41.703600 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.211:7101 20
 | 
			
		||||
2023-09-26 16:10:44.712329 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.219:7001
 | 
			
		||||
2023-09-26 16:10:44.712451 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.219:7001 21
 | 
			
		||||
2023-09-26 16:10:46.717456 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.211:7101
 | 
			
		||||
2023-09-26 16:10:46.717554 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.211:7101 22
 | 
			
		||||
2023-09-26 16:10:49.725349 N Handler.cpp:453 h 3 create connection pool for server 185.203.114.219:7101
 | 
			
		||||
2023-09-26 16:10:49.725462 N ConnectConnectionPool.cpp:42 h 3 create server connection 185.203.114.219:7101 23
 | 
			
		||||
2023-09-26 16:10:50.727881 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.211:7001
 | 
			
		||||
2023-09-26 16:10:50.727986 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.211:7001 24
 | 
			
		||||
2023-09-26 16:10:51.730870 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.211:7001
 | 
			
		||||
2023-09-26 16:10:51.730949 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.211:7001 25
 | 
			
		||||
2023-09-26 16:10:52.734852 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.220:7101
 | 
			
		||||
2023-09-26 16:10:52.734995 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.220:7101 26
 | 
			
		||||
2023-09-26 16:10:53.737706 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.220:7001
 | 
			
		||||
2023-09-26 16:10:53.737804 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.220:7001 27
 | 
			
		||||
2023-09-26 16:10:54.740238 N Handler.cpp:453 h 1 create connection pool for server 185.203.114.220:7001
 | 
			
		||||
2023-09-26 16:10:54.740350 N ConnectConnectionPool.cpp:42 h 1 create server connection 185.203.114.220:7001 28
 | 
			
		||||
2023-09-26 16:11:09.785618 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.211:7001
 | 
			
		||||
2023-09-26 16:11:09.785859 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.211:7001 29
 | 
			
		||||
2023-09-26 16:11:14.798944 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.220:7101
 | 
			
		||||
2023-09-26 16:11:14.799245 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.220:7101 30
 | 
			
		||||
2023-09-26 16:11:20.814272 N Handler.cpp:453 h 0 create connection pool for server 185.203.114.219:7001
 | 
			
		||||
2023-09-26 16:11:20.814395 N ConnectConnectionPool.cpp:42 h 0 create server connection 185.203.114.219:7001 31
 | 
			
		||||
2023-09-26 16:11:31.946414 W ClusterServerPool.cpp:227 redis cluster update server 153ecac0cbbd9f5fc732fe667542ff4d60437168 185.203.114.219:7101 role unknown
 | 
			
		||||
2023-09-26 16:11:37.862876 N Handler.cpp:453 h 2 create connection pool for server 185.203.114.220:7001
 | 
			
		||||
2023-09-26 16:11:37.862978 N ConnectConnectionPool.cpp:42 h 2 create server connection 185.203.114.220:7001 32
 | 
			
		||||
2023-09-26 16:16:20.809370 N Handler.cpp:318 h 2 accept c 185.203.114.199:57448 33
 | 
			
		||||
2023-09-26 16:16:20.809712 N Handler.cpp:318 h 3 accept c 185.203.114.199:57450 34
 | 
			
		||||
2023-09-26 16:16:20.839201 N ConnectConnectionPool.cpp:82 h 0 create private server connection 185.203.114.211:7001 35
 | 
			
		||||
2023-09-26 16:16:22.062163 N Handler.cpp:318 h 1 accept c 185.203.114.199:57460 36
 | 
			
		||||
2023-09-26 16:16:22.062258 N Handler.cpp:318 h 1 accept c 185.203.114.199:57462 37
 | 
			
		||||
2023-09-26 16:16:22.063781 N ConnectConnectionPool.cpp:82 h 2 create private server connection 185.203.114.220:7001 38
 | 
			
		||||
2023-09-26 16:16:22.439657 N Handler.cpp:318 h 3 accept c 185.203.114.199:57470 39
 | 
			
		||||
2023-09-26 16:16:22.439705 N Handler.cpp:318 h 3 accept c 185.203.114.199:57472 40
 | 
			
		||||
2023-09-26 16:16:22.444573 N ConnectConnectionPool.cpp:82 h 1 create private server connection 185.203.114.220:7001 41
 | 
			
		||||
2023-09-26 16:18:50.853693 N Handler.cpp:212 h 2 remove c 185.203.114.199:57462 37 with status 2 End
 | 
			
		||||
2023-09-26 16:18:50.853980 N Handler.cpp:276 h 2 close s 185.203.114.220:7001 38 and c None -1 with status 101 Custom
 | 
			
		||||
2023-09-26 16:18:50.855311 N Handler.cpp:212 h 1 remove c 185.203.114.199:57460 36 with status 2 End
 | 
			
		||||
2023-09-26 16:18:50.902178 N Handler.cpp:212 h 1 remove c 185.203.114.199:57472 40 with status 2 End
 | 
			
		||||
2023-09-26 16:18:50.902308 N Handler.cpp:276 h 1 close s 185.203.114.220:7001 41 and c None -1 with status 101 Custom
 | 
			
		||||
2023-09-26 16:18:50.909188 N Handler.cpp:212 h 3 remove c 185.203.114.199:57470 39 with status 2 End
 | 
			
		||||
2023-09-26 16:19:01.283074 N Handler.cpp:212 h 0 remove c 185.203.114.199:57448 33 with status 2 End
 | 
			
		||||
2023-09-26 16:19:01.283278 N Handler.cpp:212 h 0 remove c 185.203.114.199:57450 34 with status 2 End
 | 
			
		||||
2023-09-26 16:19:01.283331 N Handler.cpp:276 h 0 close s 185.203.114.211:7001 35 and c None -1 with status 101 Custom
 | 
			
		||||
							
								
								
									
										5
									
								
								development/redis/redis-master.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								development/redis/redis-master.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
cluster-enabled yes
 | 
			
		||||
cluster-node-timeout 5000
 | 
			
		||||
cluster-require-full-coverage yes
 | 
			
		||||
appendonly yes
 | 
			
		||||
port 7001
 | 
			
		||||
							
								
								
									
										5
									
								
								development/redis/redis-slave.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								development/redis/redis-slave.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
cluster-enabled yes
 | 
			
		||||
cluster-node-timeout 5000
 | 
			
		||||
cluster-require-full-coverage yes
 | 
			
		||||
appendonly yes
 | 
			
		||||
port 7101
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue