• 1 post
  • 77 comments
Joined 3 years ago
Cake day: November 26th, 2023
  • Because of centralization, open source exploitation by multi billion dollar corporations, high costs of living and overall size and impact of the industry. When industry was small full of developers it was more cozy, now developers are minority in IT industry so the practices from different areas take place. Instead of collaboration and helping each other we see people mostly competing and fighting. Managers that were brought to software from different areas are encouraging people to do so. Everyone is complaining but nobody is willing to help to change something because corporate make profit, C-Levels earn hundreds of millions and shareholders are happy.

  • 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

  • The quality was always questionable in IT because of how projects are being managed. That’s why you have consulting companies. The only difference you get from AI is companies trying to lower the wages and reduce costs to share profit with AI companies. Those tools bring no more value than hiring more junior / bootcamp level developers. The difference is from junior developer you can in a year or two get full team member but from AI you will get constraint amount of slop because it doesn’t evolve.