Judge my shitty vibe code please
from tron@midwest.social to jellyfin@lemmy.ml on 21 Nov 22:07
https://midwest.social/post/39140511

So long story short here: I’m using AI to write this Nginx Proxy Manager advanced config for Jellyfin because I’ve been having lots of issues with videos starting and stopping. Am I stupid? Any advice would be welcome!

#jellyfin

threaded - newest

aldalire@lemmy.dbzer0.com on 21 Nov 22:23 next collapse

dont

paequ2@lemmy.today on 21 Nov 22:47 next collapse

lol. I don’t even review my coworker’s AI slop code. I’m not starting now.

chrash0@lemmy.world on 21 Nov 22:51 next collapse

it’s not stupid. i have pretty successfully done some NixOS work flying basically blind with an LLM guiding the way.

  1. ask follow up questions. “can you show me in the docs where this is defined”, “why did you add this line here”, etc

  2. you’re going to have to understand this config eventually. the LLM will start to get confused if you’re trying to squash a weird bug and you’re just chastising it. it will always tell you you’re right even when you aren’t.

  3. document everything with comments and in git

  4. Caddy is better :P

themachine@lemmy.world on 21 Nov 23:23 next collapse

Do you have problems with videos if you don’t use the proxy?

PlatonicGin@lemmy.world on 22 Nov 00:45 next collapse

Using AI is stupid, yes. Go truly learn it yourself if you want to know how to do something.

Nollij@sopuli.xyz on 22 Nov 02:02 next collapse

Do you understand the code, what it’s doing, and why it’s doing that? If not, then do not use an LLM for it.

Tenderizer78@lemmy.ml on 22 Nov 03:48 next collapse

If a human didn’t write it, why should a human review it.

mhzawadi@lemmy.horwood.cloud on 22 Nov 09:12 collapse

Not sure how well that will fly, does it pass a config test?

Also here is a working server block that I use and works fine everywhere

server {
    listen server IP:80;
    listen server IP:443 ssl; ## listen for ipv4; this line is default and implied
    http2 on;
    server_name jellyfin.example.com;
    root /srv/www/holding;
    index index.php index.html index.htm;
    #SSL setting
    ssl_certificate /etc/letsencrypt/live/wildcard_cert/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wildcard_cert/privkey.pem;
    add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";

    # Note that Diaspora has a client side check set at 4M
    client_max_body_size 512M;
    client_body_buffer_size 256K;

    access_log /var/log/nginx/jellyfin-access.log main;

    location = / {
        return 302 https://$host/web/;
    }

    location / {
      proxy_pass http://jellyfin/;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-Protocol $scheme;
      proxy_set_header X-Forwarded-Host $http_host;
      proxy_redirect http:// https://;
      proxy_buffering off;
    }

    # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://jellyfin/web/index.html;
        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 $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://jellyfin/;
        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 $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
  
tron@midwest.social on 23 Nov 15:31 collapse

Thanks, you’re reply made my day after all the negative comments. I’m a home hobbyist with zero training, so a lot of this stuff is jibberish to me still. Looks like we have a lot of the same stuff going on, I just needed a sanity check. Anyway, I went ahead and deployed it a few days ago and it seems to be very functional and snappy so I guess if it works it works?

[deleted] on 23 Nov 16:53 collapse

.