• 0 Posts
  • 6 Comments
Joined 1 year ago
cake
Cake day: December 12th, 2023

help-circle
  • I’ve finally figured out how to install frogcomposband in a docker container. It’s a fork of a game called Angband that’s played in a terminal window. Angband itself has a long history. Somewhere around 30 years if I remember correctly.

    It’s setting is closer to lord of the rings but it has the insane complexity of a pen and paper, dungeons and dragons type game. A huge amount of races and classes to play and even the option to play an impressive amount of different monsters or enemies.

    I think what I’m enjoying about it is that the graphics are just coloured numbers, letters and symbols. The playable character is just the @ symbol. It leaves room for the imagination to fill in the blanks which feels very calming.

    When I was going through my Baldur’s Gate phase, I noticed my brain was in complete overdrive after playing a session. I think processing the crazy details in that game was too much for my brain.

    Now when I shut off the game I’m not overwhelmed and I still get my role playing game fix. It’s nice.


  • I hate flirting. I just don’t understand it. It’s this weird social dance that no one explains but expects people to understand. It all feels hypocritical that comes with unreasonable expectations.

    The biggest source of frustration for me comes from the fact that I have to act in a way that says I am interested while not saying I am interested. That just does not work for me.

    I don’t flirt. I don’t even try. I don’t want to be with someone flirty because from my past experiences, flirty people are also not straight forward about other parts of their true selves.

    Flirty people also misinterpret a lot of my actions as a result of me not understanding flirting as well. Many flirty people from my experiences have assumed I am flirting. I was just being nice. I was treating them like a person. Just like I treat family like people. And friends like people. And strangers like people.

    As a not flirty person, the number of times people have pushed me up against a wall and kissed me, or just jump to kissing me has been way more than I ever expected out of life. Each time has been equally confusing. I wasn’t flirting. I was just treating them how I wanted to be treated.

    I have no advice to give but I have some thoughts to share from my life experiences. People like being treated like people. People who make mistakes. People who have their own thoughts and feelings. People who are themselves. I’ve made more genuinely close connections with people, intimate or not, by just treating people as people. And it’s really something as simple as that. Also having a genuine smile helps quite a bit too. When I smile because I’m enjoying the moment, I notice that it draws people towards me. It’s a type of energy that draws people in and it makes me feel even better about myself too.



  • I’ve spent a few hours with Podman and I was able to get my reverse proxy and a couple smaller services running which is quite nice. I’m using Alpine Linux so there were some extra steps I had to follow but their wiki handles that pretty good. The only issue I need to figure out is how to auto start my services on a system restart since Podman seems to focus on Systemd development. This seems like a good start but I think I need to figure out how pods and containers work in Podman first.

    I’ve only started learning this stuff not too long ago but I’m surprised how relaxed Docker is with port management. I was under the impression that docker is more secure because it’s containerized. Even more surprising was how little documentation there is for how to secure Docker ports.


  • A couple weeks ago I stumbled on to the fact that Docker pretty much ignores your firewall and manipulates iptables in the background. The way it sets itself up means the firewall has no idea the changes are made and won’t show up when you look at all the firewall policies. You can check iptables itself to see what docker is doing but iptables isn’t easy or simple to work with.

    I noticed your list included firewalld but I have some concerns about that. The first is that the firewall backend has changed from iptables to nftables as the default. That means the guide you linked is missing a step to change backends. Also, when changing back ends by editing /etc/firewalld/firewalld.conf there will be a message saying iptables is deprecated and will be removed in the future:

    # FirewallBackend
    # Selects the firewall backend implementation.
    # Choices are:
    #	- nftables (default)
    #	- iptables (iptables, ip6tables, ebtables and ipset)
    # Note: The iptables backend is deprecated. It will be removed in a future
    # release.
    FirewallBackend=nftables
    

    If following that guide works for other people, it may be okay for now. Although I think finding alternative firewalls for the future may be a thing to strongly consider.

    I did stumble across some ways to help deal with opened docker ports. I currently have 3 docker services that all sit behind a docker reverse proxy. In this case I’m using Caddy as a reverse proxy. First thing to do is create a docker network, for example I created one called “reverse_proxy” with the command:

    docker network create reverse_proxy

    After that I add the following lines to each docker-compose.yml file for all three services plus Caddy.

    services:
        networks:
          - reverse_proxy
    
    networks:
      reverse_proxy:
        external: true
    

    This will allow the three services plus Caddy to communicate together. Running the following command brings up all your currently running. The Name of the container will be used in the Caddyfile to set up the reverse proxy.

    docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}" -a

    Then you can add the following to the Caddyfile. Replace any capitalized parts with your own domain name and docker container name. Change #### to the Internal port number for your docker container. If your ports in your docker-compose.yml look like “5000:8000” 5000: is the external port, :8000 is the internal port.

    SUBDOMAIN.DOMAINNAME.COM:80 {
            reverse_proxy DOCKER_CONTAINER_NAME:####
    }
    

    After starting the Caddy docker container, things should be working as normal, however the three services behind the reverse proxy are still accessible outside the reverse proxy by accessing their ports directly, for example Subdomain.domainname.com:5000 in your browser.

    You can add 127.0.0.1: to the service’s external port in docker-compose.yml to force those service containers ports to only be accessible through the localhost machine.

    Before:

        ports:
          - 5000:8000
    

    After:

        ports:
          - 127.0.0.1:5000:8000
    

    After restarting the service, the only port that should be accessible from all your services should only be Caddy’s port. You can check what ports are open with the command

    netstat -tunpl

    Below I’ll leave a working example for Caddy and Kiwix (offline wikipedia)

    Caddy: docker-compose.yml

    services:
      caddy:
        container_name: caddy
        image: caddy:latest
        restart: unless-stopped
        ports:
          - 80:80
          - 443:443
        networks:
          - reverse_proxy
        volumes:
          - ./Caddyfile:/etc/caddy/Caddyfile
          - caddy_data:/data
          - caddy_config:/config
    
    volumes:
      caddy_data:
      caddy_config:
    
    networks:
      reverse_proxy:
        external: true
    

    Caddy: Caddyfile

    wiki.Domainname.com:80 {
            reverse_proxy kiwix:8080
    }
    

    Kiwix: docker-compose.yml (if you plan to use this setup, you MUST download a .zim file and place it in the /data/ folder. In this case /srv/kiwix/data) Kiwix Library .zim Files

    services:
      kiwix:
        image: ghcr.io/kiwix/kiwix-serve
        container_name: kiwix
        ports:
          - 127.0.0.1:8080:8080
        volumes:
          - /srv/kiwix/data:/data
        command: "*.zim"
        restart: unless-stopped
        networks:
          - reverse_proxy
    
    networks:
      reverse_proxy:
        external: true
    

    What I’m interested in from a firewall is something that offers some sort of rate limiting feature. I would like to set it up as a simple last line of defense against DDOS situations. Even with my current setup with Docker and Caddy, I still have no control over the Caddy exposed port so anything done by the firewall will still be completely ignored still.

    I may try out podman and see if I can get UFW or Awall to work as I would like it to. Hopefully that’s not to deep or a rabbit hole.


  • I’ve noticed personally just how different my mind works when I am constantly presented with data for my actions. Even though these random data points have no real affect on my life, I’m still drawn to having those numbers be bigger than before. From the votes I receive from a social media comment to the reactions from a meme posted in a discord server, all I want is more attention through a click of a button from someone else’s screen.

    I hate it. It feels like my value is placed into a number. For me, I prefer my value to come from how I treat other people. I feel a far greater sense of self when I am able to put my time and effort into helping other people. I get to learn the inner workings of someone else and teach them to empower themselves. It feels rewarding when later on those people I helped express their gratitute and trust in me. That is far more rewarding compared to the quick hit from any brain chemistry when looking at a bunch of data points or a bunch of money.

    Unfortunately, I can’t make money this way. Not in the way I want to learn, teach and empower other people. I’m terrified of going into a career that will destroy my innate desire to help others. I know it’ll wreck me in the process. Again.

    Capitalism destroys everything it touches by sucking all the life, creativity and humanity out of it until there’s a empty shell left behind. An empty shell that looks like every other empty shell. All those empty shells can be counted, given a value and sold. Reducing us and the human experience to yet another data point.

    I truly hope more people come to understand that these data points don’t have to put us in a competitions with each other. That our value as people can come from places that don’t have/need to be from a number value.

    One day, our planet will die. One day the last historian will die and all that data and preserved knowledge will sit and decay. It’s human knowledge and it’s meaning has more value to humans than any other living creature on our planet.

    Personally, I’d rather live a life where my actions are responsible for the wellbeing of myself, my community and the land under my feet. It doesn’t matter to me anymore if my value can’t be reduced to a number.