• 0 Posts
  • 14 Comments
Joined 2 years ago
cake
Cake day: November 26th, 2023

help-circle


  • yeah but I don’t mind having duplicated scripts, it’s just easier to go to single script and don’t have to worry about everything else, I keep them like bin/synapse/run, bin/synapse/stop, bin/synapse/logs etc. What I haven’t figured out is better way to keep all ports in one place instead of ports.md file but on the other hand it’s not like I have thousands of containers running.










  • I have a git repo with some directory convention and bash scripts. Ex stop is just

    #!/bin/bash
    name=synapse
    docker stop $name
    docker rm $name
    

    etc. depending on what actions I need to do against container I have bash script for that and if I need to perform same action against other container I just copy paste this file and change name variable. I pull this repo to my containers host and just type ./bin/synapse/stop and I stop synapse.

    Hope that makes sense.



  • If you’re proficient it’s 30minutes

    Something like this for server.

    generate config

    docker run -it --rm \
        -v <your-data-path>:/data \
        -e SYNAPSE_SERVER_NAME=<your-public-address-subdomain> \
        -e SYNAPSE_REPORT_STATS=no \
        matrixdotorg/synapse:v1.136.0 generate
    

    run

    docker run -d \
      --restart=always \
      --name synapse \
      -e SYNAPSE_REPORT_STATS=no \
      -v <your-data-path>:/data \
      -p 8008:8008 matrixdotorg/synapse:v1.136.0
    

    register user

    docker exec -ti synapse register_new_matrix_user http://localhost:8008/ -c /data/homeserver.yaml -u <username> -p <password> --exists-ok
    

    Proxy it using ex. openresty / nginx

    location / {
            proxy_pass    http://127.0.0.1:8008/;
            proxy_http_version 1.1;
            proxy_set_header    Upgrade         $http_upgrade;
            proxy_set_header    Connection      "upgrade";
            proxy_set_header    Host            $host;
            proxy_set_header    X-Real-IP       $remote_addr;
            proxy_set_header    X-Forwarded-for $remote_addr;
            proxy_connect_timeout 600;
            proxy_read_timeout 86400;
        }
    

    For UI if you want element on your domain, download and unpack tar.gz from.
    https://github.com/element-hq/element-web/releases

    Point this location to your proxy server ex. openresty / nginx

    location / {
            root /opt/element-v1.11.109;
            index index.html;
        }
    

    Modify config.json inside /opt/element-v1.11.109 to point location to <your-public-address-subdomain>

    By default it’s using sqlite if you want postgres or other database then modify homeserver.yaml to use postgres