• 4 Posts
  • 112 Comments
Joined 3 years ago
cake
Cake day: June 8th, 2023

help-circle
  • I’m no dev, but did do my HND in computing some 25 years ago. I have also tinkered with scripts to solve an itch and have has plenty of VBA and of late DAX and power query.

    I did a project for myself around a year ago that was much larger than I normally would these days and I used Gemini. It was a constant battle with the LLM (man it’s hard not to gender and personify these LLMs) to keep it on track and not keep breaking shit all the time. It struggled to writ valid rules for it’s own firebase/firestore. It generally felt like a bad time.

    This past week end I got codex to migrate the PWA from google’s services and database into a selfhostable docker stack. It was a pleasure, it documented the whole process map, built a full test environment, followed through and imported my data. It the suggested a few improvements. It even rewrote a a complex equation that Gemini could nust not get correct and added manufacture safe/max bounds.

    all this to say ‘yes, modern agents do seem to do a good job of a codebase that they have never seen’



  • I have AdGuard Home running on OPNSense as a local DNS with a wild card for for the ‘local domain’ pointing to Caddy

    in Caddy I have this section:

    *.<domain>.net {
    #header X-Frame-Options "SAMEORIGIN"
            tls internal
            encode gzip
            import sec-headers
            @sub1 host pve.<domain>.net
            @sub2 host kasm.<domain>.net
           ...
           handle @sub1 {
                    import sec-headers
                    reverse_proxy * https://10.1.1.11:8006/ {
                            transport http {
                                    tls_insecure_skip_verify
                            }
                    #       header_up Host {host}
                           header_up X-Real-IP {remote}
                           header_up X-Forwarded-For {remote}
                           header_up X-Forwarded-Port {server_port}
                           header_up X-Forwarded-Proto {scheme}
                    }
            }
            handle @sub2 {
                    import sec-headers
                    reverse_proxy  https://10.1.1.119/ {
                            transport http {
                                    tls_insecure_skip_verify
                            }
                    #       header_up Host {host}
                           header_up X-Real-IP {remote}
                           header_up X-Forwarded-For {remote}
                           header_up X-Forwarded-Port {server_port}
                           header_up X-Forwarded-Proto {scheme}
                    }
            }
    ...
    

  • Back up the server then work through:

    Just follow the guide https://iocaine.madhouse-project.org/documentation/3/getting-started/ Bind the iocaine service to 0.0.0.0:42069

    cat /opt/iocaine/etc/iocaine/config.d/00-server.txt.kdl 
    http-server default {
      bind "0.0.0.0:42069"
      use handler-from=default
    }
    

    expose interface to Docker (make sure not to expose it to the world).

    sudo iptables -I INPUT 4 \
      -s 172.18.0.0/16 \
      -d 172.18.0.1 \
      -p tcp --dport 42069 \
      -j ACCEPT
    

    add the interface to the proxy service in a custom/docker-compose.yml.template

    proxy:
        {{COMPOSE_CADDY_IMAGE}}
        env_file:
          - ./caddy.env
          - {{ CADDY_EXTRA_ENV }}
        volumes:
          - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
          - caddy_data:/data
          - caddy_config:/config
        extra_hosts:
          - "host.docker.internal:172.18.0.1"
    ...
    

    add iocaine to caddy in a custom/Caddyfile.template

    {$LEMMY_HOSTNAME} {
            import caddy-common
    
            ######################################
            ########## iocaine  code ##########
            @read method GET HEAD
                    reverse_proxy @read host.docker.internal:42069 {
                    @fallback status 421
                    handle_response @fallback
            }
    ...
    

    rebuild all the docler images (at least the caddy one ./deploy.sh -f) and test

    I think that should work

    CrowdSec