mirror of
https://github.com/etkecc/synapse-admin.git
synced 2024-12-18 05:51:50 +03:00
add dev stack
This commit is contained in:
parent
f639a1c9ff
commit
332e98a095
7 changed files with 280 additions and 1 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -191,3 +191,6 @@ sketch
|
||||||
# .pnp.*
|
# .pnp.*
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/node,yarn,react,visualstudiocode
|
# End of https://www.toptal.com/developers/gitignore/api/node,yarn,react,visualstudiocode
|
||||||
|
|
||||||
|
/testdata/synapse.data
|
||||||
|
/testdata/postgres.data
|
||||||
|
|
11
README.md
11
README.md
|
@ -39,6 +39,17 @@ The following changes are already implemented:
|
||||||
|
|
||||||
_the list will be updated as new changes are added_
|
_the list will be updated as new changes are added_
|
||||||
|
|
||||||
|
### Development
|
||||||
|
|
||||||
|
`just run-dev` to start the development stack (depending on your system speed, you may want to re-run this command if
|
||||||
|
user creation fails)
|
||||||
|
|
||||||
|
After that open `http://localhost:5173` in your browser, login using the following credentials:
|
||||||
|
|
||||||
|
* Login: admin
|
||||||
|
* Password: admin
|
||||||
|
* Homeserver URL: http://localhost:8008
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Supported Synapse
|
### Supported Synapse
|
||||||
|
|
20
docker-compose-dev.yml
Normal file
20
docker-compose-dev.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
services:
|
||||||
|
synapse:
|
||||||
|
image: ghcr.io/element-hq/synapse:latest
|
||||||
|
entrypoint: python
|
||||||
|
command: "-m synapse.app.homeserver -c /config/homeserver.yaml"
|
||||||
|
ports:
|
||||||
|
- "8008:8008"
|
||||||
|
volumes:
|
||||||
|
- ./testdata/synapse:/config
|
||||||
|
- ./testdata/synapse.data:/media-store
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:alpine
|
||||||
|
volumes:
|
||||||
|
- ./testdata/postgres.data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: synapse
|
||||||
|
POSTGRES_PASSWORD: synapse
|
||||||
|
POSTGRES_DB: synapse
|
||||||
|
POSTGRES_INITDB_ARGS: "--lc-collate C --lc-ctype C --encoding UTF8"
|
27
justfile
27
justfile
|
@ -6,8 +6,33 @@ default:
|
||||||
build: __install
|
build: __install
|
||||||
@yarn run build --base=./
|
@yarn run build --base=./
|
||||||
|
|
||||||
|
# run the app in a development mode
|
||||||
|
run:
|
||||||
|
@yarn start --host 0.0.0.0
|
||||||
|
|
||||||
|
# run dev stack and start the app in a development mode
|
||||||
|
run-dev:
|
||||||
|
@echo "Starting the database..."
|
||||||
|
@docker-compose -f docker-compose-dev.yml up -d postgres
|
||||||
|
@echo "Starting Synapse..."
|
||||||
|
@docker-compose -f docker-compose-dev.yml up -d synapse
|
||||||
|
@echo "Ensure admin user is registered..."
|
||||||
|
@docker-compose -f docker-compose-dev.yml exec synapse register_new_matrix_user --admin -u admin -p admin -c /config/homeserver.yaml http://localhost:8008 || true
|
||||||
|
@echo "Starting the app..."
|
||||||
|
@yarn start --host 0.0.0.0
|
||||||
|
|
||||||
|
# stop the dev stack
|
||||||
|
stop-dev:
|
||||||
|
@docker-compose -f docker-compose-dev.yml stop
|
||||||
|
|
||||||
|
|
||||||
|
register-user localpart password *admin:
|
||||||
|
docker-compose exec synapse register_new_matrix_user {{ if admin == "1" {"--admin"} else {"--no-admin"} }} -u {{ localpart }} -p {{ password }} -c /config/homeserver.yaml http://localhost:8008
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# run the app in a production mode
|
# run the app in a production mode
|
||||||
run: build
|
run-prod: build
|
||||||
@python -m http.server -d dist 1313
|
@python -m http.server -d dist 1313
|
||||||
|
|
||||||
# install the project
|
# install the project
|
||||||
|
|
191
testdata/synapse/homeserver.yaml
vendored
Normal file
191
testdata/synapse/homeserver.yaml
vendored
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
account_threepid_delegates:
|
||||||
|
msisdn: ''
|
||||||
|
alias_creation_rules:
|
||||||
|
- action: allow
|
||||||
|
alias: '*'
|
||||||
|
room_id: '*'
|
||||||
|
user_id: '*'
|
||||||
|
allow_guest_access: false
|
||||||
|
allow_public_rooms_over_federation: true
|
||||||
|
allow_public_rooms_without_auth: true
|
||||||
|
app_service_config_files: []
|
||||||
|
autocreate_auto_join_rooms: true
|
||||||
|
background_updates: null
|
||||||
|
caches:
|
||||||
|
global_factor: 0.5
|
||||||
|
per_cache_factors: null
|
||||||
|
cas_config: null
|
||||||
|
database:
|
||||||
|
args:
|
||||||
|
cp_max: 10
|
||||||
|
cp_min: 5
|
||||||
|
database: synapse
|
||||||
|
host: postgres
|
||||||
|
password: synapse
|
||||||
|
port: 5432
|
||||||
|
user: synapse
|
||||||
|
name: psycopg2
|
||||||
|
txn_limit: 0
|
||||||
|
default_room_version: '10'
|
||||||
|
disable_msisdn_registration: true
|
||||||
|
email:
|
||||||
|
enable_media_repo: true
|
||||||
|
enable_metrics: false
|
||||||
|
enable_registration: false
|
||||||
|
enable_registration_captcha: false
|
||||||
|
enable_registration_without_verification: false
|
||||||
|
enable_room_list_search: true
|
||||||
|
encryption_enabled_by_default_for_room_type: 'off'
|
||||||
|
event_cache_size: 100K
|
||||||
|
federation_rr_transactions_per_room_per_second: 50
|
||||||
|
form_secret: sLKKoFMsQUZgLAW0vU1PQQ8ca1POGMDheurGtKW0uJ20iGqtxR9O7JQ6Knvs44Wi
|
||||||
|
include_profile_data_on_invite: true
|
||||||
|
instance_map: {}
|
||||||
|
limit_profile_requests_to_users_who_share_rooms: false
|
||||||
|
limit_remote_rooms: null
|
||||||
|
listeners:
|
||||||
|
- bind_addresses:
|
||||||
|
- '::'
|
||||||
|
port: 8008
|
||||||
|
resources:
|
||||||
|
- compress: false
|
||||||
|
names:
|
||||||
|
- client
|
||||||
|
tls: false
|
||||||
|
type: http
|
||||||
|
x_forwarded: true
|
||||||
|
log_config: /config/synapse.log.config
|
||||||
|
macaroon_secret_key: Lg8DxGGfy95J367eVJZHLxmqP9XtN4FKdKxWpPvBS3mhviq9at8sw7KHRPkGmyqE
|
||||||
|
manhole_settings: null
|
||||||
|
max_spider_size: 10M
|
||||||
|
max_upload_size: 1024M
|
||||||
|
media_retention:
|
||||||
|
local_media_lifetime: 30d
|
||||||
|
remote_media_lifetime: 7d
|
||||||
|
media_storage_providers: []
|
||||||
|
media_store_path: /media-store
|
||||||
|
metrics_flags: null
|
||||||
|
modules: []
|
||||||
|
oembed: null
|
||||||
|
oidc_providers: null
|
||||||
|
old_signing_keys: null
|
||||||
|
opentracing: null
|
||||||
|
password_config:
|
||||||
|
enabled: true
|
||||||
|
localdb_enabled: true
|
||||||
|
pepper: zfvnYqxe3GTkdJ9BlfZiAqy2zMsjOg02uBTEiWLp2hjQGqlDw33pTSTplE6HoWlF
|
||||||
|
policy: null
|
||||||
|
pid_file: /homeserver.pid
|
||||||
|
presence:
|
||||||
|
enabled: true
|
||||||
|
public_baseurl: http://synapse:8008/
|
||||||
|
push:
|
||||||
|
include_content: true
|
||||||
|
rc_admin_redaction:
|
||||||
|
burst_count: 50
|
||||||
|
per_second: 1
|
||||||
|
rc_federation:
|
||||||
|
concurrent: 3
|
||||||
|
reject_limit: 50
|
||||||
|
sleep_delay: 500
|
||||||
|
sleep_limit: 10
|
||||||
|
window_size: 1000
|
||||||
|
rc_invites:
|
||||||
|
per_issuer:
|
||||||
|
burst_count: 10
|
||||||
|
per_second: 0.3
|
||||||
|
per_room:
|
||||||
|
burst_count: 10
|
||||||
|
per_second: 0.3
|
||||||
|
per_user:
|
||||||
|
burst_count: 5
|
||||||
|
per_second: 0.003
|
||||||
|
rc_joins:
|
||||||
|
local:
|
||||||
|
burst_count: 10
|
||||||
|
per_second: 0.1
|
||||||
|
remote:
|
||||||
|
burst_count: 10
|
||||||
|
per_second: 0.01
|
||||||
|
rc_login:
|
||||||
|
account:
|
||||||
|
burst_count: 3
|
||||||
|
per_second: 0.17
|
||||||
|
address:
|
||||||
|
burst_count: 3
|
||||||
|
per_second: 0.17
|
||||||
|
failed_attempts:
|
||||||
|
burst_count: 3
|
||||||
|
per_second: 0.17
|
||||||
|
rc_message:
|
||||||
|
burst_count: 10
|
||||||
|
per_second: 0.2
|
||||||
|
rc_registration:
|
||||||
|
burst_count: 3
|
||||||
|
per_second: 0.17
|
||||||
|
recaptcha_private_key: ''
|
||||||
|
recaptcha_public_key: ''
|
||||||
|
redaction_retention_period: 5m
|
||||||
|
redis:
|
||||||
|
enabled: false
|
||||||
|
host: null
|
||||||
|
password: null
|
||||||
|
port: 6379
|
||||||
|
registration_requires_token: false
|
||||||
|
registration_shared_secret: jBUKJozByo8s3bvKtYFpB350ZAnxGlzXsDpAZkgOFJuQfKAFHhqbc2dw8D54u4T9
|
||||||
|
report_stats: false
|
||||||
|
require_auth_for_profile_requests: false
|
||||||
|
retention:
|
||||||
|
enabled: true
|
||||||
|
purge_jobs:
|
||||||
|
- interval: 12h
|
||||||
|
room_list_publication_rules:
|
||||||
|
- action: allow
|
||||||
|
alias: '*'
|
||||||
|
room_id: '*'
|
||||||
|
user_id: '*'
|
||||||
|
room_prejoin_state: null
|
||||||
|
saml2_config:
|
||||||
|
sp_config: null
|
||||||
|
user_mapping_provider:
|
||||||
|
config: null
|
||||||
|
server_name: synapse
|
||||||
|
signing_key_path: /config/synapse.signing.key
|
||||||
|
spam_checker: []
|
||||||
|
sso: null
|
||||||
|
stats: null
|
||||||
|
stream_writers: {}
|
||||||
|
templates: null
|
||||||
|
tls_certificate_path: null
|
||||||
|
tls_private_key_path: null
|
||||||
|
trusted_key_servers:
|
||||||
|
- server_name: matrix.org
|
||||||
|
turn_allow_guests: false
|
||||||
|
ui_auth: null
|
||||||
|
url_preview_accept_language:
|
||||||
|
- en-US
|
||||||
|
- en
|
||||||
|
url_preview_enabled: true
|
||||||
|
url_preview_ip_range_blacklist:
|
||||||
|
- 127.0.0.0/8
|
||||||
|
- 10.0.0.0/8
|
||||||
|
- 172.16.0.0/12
|
||||||
|
- 192.168.0.0/16
|
||||||
|
- 100.64.0.0/10
|
||||||
|
- 192.0.0.0/24
|
||||||
|
- 169.254.0.0/16
|
||||||
|
- 192.88.99.0/24
|
||||||
|
- 198.18.0.0/15
|
||||||
|
- 192.0.2.0/24
|
||||||
|
- 198.51.100.0/24
|
||||||
|
- 203.0.113.0/24
|
||||||
|
- 224.0.0.0/4
|
||||||
|
- ::1/128
|
||||||
|
- fe80::/10
|
||||||
|
- fc00::/7
|
||||||
|
- 2001:db8::/32
|
||||||
|
- ff00::/8
|
||||||
|
- fec0::/10
|
||||||
|
user_directory: null
|
||||||
|
user_ips_max_age: 5m
|
||||||
|
|
28
testdata/synapse/synapse.log.config
vendored
Normal file
28
testdata/synapse/synapse.log.config
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
version: 1
|
||||||
|
formatters:
|
||||||
|
precise:
|
||||||
|
format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
|
||||||
|
filters:
|
||||||
|
context:
|
||||||
|
(): synapse.util.logcontext.LoggingContextFilter
|
||||||
|
request: ""
|
||||||
|
handlers:
|
||||||
|
console:
|
||||||
|
class: logging.StreamHandler
|
||||||
|
formatter: precise
|
||||||
|
filters: [context]
|
||||||
|
loggers:
|
||||||
|
synapse:
|
||||||
|
level: INFO
|
||||||
|
shared_secret_authenticator:
|
||||||
|
level: INFO
|
||||||
|
rest_auth_provider:
|
||||||
|
level: INFO
|
||||||
|
synapse.storage.SQL:
|
||||||
|
# beware: increasing this to DEBUG will make synapse log sensitive
|
||||||
|
# information such as access tokens.
|
||||||
|
level: INFO
|
||||||
|
root:
|
||||||
|
level: INFO
|
||||||
|
handlers: [console]
|
||||||
|
|
1
testdata/synapse/synapse.signing.key
vendored
Normal file
1
testdata/synapse/synapse.signing.key
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ed25519 a_FswB rsh+VxdR4YUv6rFM6393VmSEJJxzaDrdwlVwLe2rcRo
|
Loading…
Reference in a new issue