Skip to content
Snippets Groups Projects
start.sh 1.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • matrix.org's avatar
    matrix.org committed
    #!/bin/bash
    
    DIR="$( cd "$( dirname "$0" )" && pwd )"
    
    CWD=$(pwd)
    
    cd "$DIR/.."
    
    
    mkdir -p demo/etc
    
    
    export PYTHONPATH=$(readlink -f $(pwd))
    
    
    echo $PYTHONPATH
    
    
    for port in 8080 8081 8082; do
    
    matrix.org's avatar
    matrix.org committed
        echo "Starting server on port $port... "
    
    
        https_port=$((port + 400))
    
        #rm $DIR/etc/$port.config
    
        python3 -m synapse.app.homeserver \
    
            --generate-config \
            -H "localhost:$https_port" \
    
            --config-path "$DIR/etc/$port.config" \
    
            --report-stats no
    
        printf '\n\n# Customisation made by demo/start.sh\n' >> $DIR/etc/$port.config
        echo 'enable_registration: true' >> $DIR/etc/$port.config
    
    
        # Check script parameters
        if [ $# -eq 1 ]; then
            if [ $1 = "--no-rate-limit" ]; then
    
                # messages rate limit
                echo 'rc_messages_per_second: 1000' >> $DIR/etc/$port.config
                echo 'rc_message_burst_count: 1000' >> $DIR/etc/$port.config
    
                # registration rate limit
                printf 'rc_registration:\n  per_second: 1000\n  burst_count: 1000\n' >> $DIR/etc/$port.config
    
                # login rate limit
                echo 'rc_login:' >> $DIR/etc/$port.config
                printf '  address:\n    per_second: 1000\n    burst_count: 1000\n' >> $DIR/etc/$port.config
                printf '  account:\n    per_second: 1000\n    burst_count: 1000\n' >> $DIR/etc/$port.config
                printf '  failed_attempts:\n    per_second: 1000\n    burst_count: 1000\n' >> $DIR/etc/$port.config
    
        if ! grep -F "full_twisted_stacktraces" -q  $DIR/etc/$port.config; then
            echo "full_twisted_stacktraces: true" >> $DIR/etc/$port.config
        fi
        if ! grep -F "report_stats" -q  $DIR/etc/$port.config ; then
            echo "report_stats: false" >> $DIR/etc/$port.config
        fi
    
        python3 -m synapse.app.homeserver \
    
            --config-path "$DIR/etc/$port.config" \
            -D \
    
    matrix.org's avatar
    matrix.org committed
    done
    
    cd "$CWD"