Just your normal everyday casual software dev. Nothing to see here.

People can share differing opinions without immediately being on the reverse side. Avoid looking at things as black and white. You can like both waffles and pancakes, just like you can hate both waffles and pancakes.

been trying to lower my social presence on services as of late, may go inactive randomly as a result.

  • 0 Posts
  • 117 Comments
Joined 3 years ago
cake
Cake day: August 15th, 2023

help-circle
  • Yeah, I actually had a similar instance regarding Game Pass.

    The Series X was my first Xbox ever because I had been a Sony fan all my life, but the launch of the PS5, the supply was non-existent. And the only way I could get a Series X was doing their All Access Pass deal, which was the two-year payment plan that gave you Ultimate alongside it.

    I feel like it worked against Microsoft’s favor, because yes, it hooked me on Xbox for two or three years. However, since they forced you to have Game Pass Ultimate along with it, I never purchased any games to get with it. So therefore, when I cancelled my Game Pass subscription at the end of it, I had no reason to turn the console on again.


  • I think overall it will be good. We already rely on windows dependent games anyway for 90% of the gaming on the platform. So I don’t see why gamepass would be any different than wine or proton.

    If we were gonna hold that line, then really we should have been super against having any type of transitional layer as a whole. But I don’t think that’s the right choice because the Linux ecosystem is a minority and you’re not going to get that to change anytime soon by making it actively harder for people to want to jump in. I think that it needs all the help that it can get currently.



  • Pika@sh.itjust.workstoSelfhosted@lemmy.worldHomelab discussion
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    1 month ago

    I use proxmox on one server, but currently my layout is:

    • docker 1:
      • Authentik first network
      • heimdall
      • immich
      • jellyfin
      • NPM first network
      • zipline
    • docker 2:
      • authentik second network
      • npm second network
      • blorp
      • gitlab-runner
      • ladder
      • metube
      • photon
      • privatebin
      • tandoor
      • bar assistant
      • sponsor block

    LXCS:

    • database server
    • pihole
    • wireguard
    • mail server (postfix/dovecot)
    • zoneminder
    • zabbix
    • gitlab
    • matrix
    • xmpp/openfire
    • revolt/stoat
    • gamevox (temporary)
    • pufferpanel - minecraft
    • pufferpanel - ark
    • palworld
    • discord development container
    • projects container

    VMs:

    • homeassistant
    • ipa server
    • firewall
    • Syncthing / immich storage / PXE server/ File storage

    Also thank you for making this post, it helped me realize I have a few containers and services I don’t use and I don’t think have activity on them anymore so I can start a deprecation cycle on them lol


  • Pika@sh.itjust.workstoSelfhosted@lemmy.worldHomelab discussion
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 month ago

    I use proxmox on one server, but currently my layout is:

    • docker 1:
      • Authentik first network
      • heimdall
      • immich
      • jellyfin
      • NPM first network
      • zipline
    • docker 2:
      • authentik second network
      • npm second network
      • blorp
      • gitlab-runner
      • ladder
      • metube
      • photon
      • privatebin
      • tandoor
      • bar assistant
      • sponsor block

    LXCS:

    • pihole
    • wireguard
    • mail server (postfix/dovecot)
    • zoneminder
    • zabbix
    • gitlab
    • matrix
    • xmpp/openfire
    • revolt/stoat
    • gamevox (temporary)
    • pufferpanel - minecraft
    • pufferpanel - ark
    • palworld
    • discord development container
    • projects container VMs:
    • homeassistant
    • ipa server
    • firewall
    • Syncthing / immich storage / PXE server/ File storage

    Also thank you for making this post, it helped me realize I have a few containers and services I don’t use and I don’t think have activity on them anymore so I can start a deprecation cycle on them lol


  • As someone who ran Ubuntu server for a few years before moving to Debian. I would recommend Debian over Ubuntu just because I have had to do less maintenance with it. When I was on Ubuntu updating it was a constant concern of “will something change that is bad” for example they pushed the kernel live patch and the Ubuntu subscription banner as an update instead of an upgrade, so I updated as normal, and there it was.

    I dislike OS’s that install new packages as part of their update procedures (an update that installs a new package instead of replacing an existing one should be reserved for upgrades), and Debian has never done that with me, so Debian is where I stay.




  • I’m not sure, I was running 2.7.5 myself but i am not sure what version of immich I started with. I didn’t think this would effect fully docker setups much. I think this would mostly effected people who had configured with a preexisting database. I believe the docker edition with postgres built in upgraded for you awhile back unless you supplied an environment variable telling it to do otherwise.










  • this right here. If you have immich setup behind a reverse proxy, just route any requests that use the /share/ and /s/ (the custom link version) on the proxy manager to route to the immich instance, and have it 403 on anything else when the request is not via the vpn

    Just be aware that immich uses links like share-* as well so be sure to have that trailing / to make it so only shared links and albums can be.

    edit: Actually looking into this route further, it looks like immich as a whole needs more than just the /share/ and the /s/ endpoints exposed to function correctly. I will update this in a little when i figured out more on what is actually needed

    update: So it seems immich will not support this style setup without quite a bit of hands on. You need to give at minimum /share/, /s/, /_app/ and /api/ in order to actually go this route. and at that point since you’ve given /api/ you’ve essentially publicly opened the instance anyway. While you can go through and individually do each endpoint. It requires access to /api/albums /api/assets and a few other endpoints, these endpoints do seem to need auth or some form of verification tho

    for anyone wanting to still go through with it. You can reverse proxy it by allowing the endpoints

    • _app/ a bunch of immich internal files for serving content
    • api/
      • server/
        • config: shows basic infomation about the server
        • media-types: shows what media types the server supports
        • features: discloses what features the server supports
      • shared-links/me: 401, 403’s or shows what links the user account can sign into
      • albums/: 403’s on any album endpoint that doesn’t also include the album’s public slug in the URL
      • timeline/
        • buckets: displays timeline buckets. 401 or 403’s on no auth
        • bucket/: displays timeline info on the requested resource. 401 or 403’s on info unless info is provided about what its trying to access
      • assets/: 401 or 403’s on any request that doesn’t contain a public slug in the url

    The nginx location regex I used for my testing(although not very read friendly) was

    location ~ /(api/(server/(config|media-types|features)|shared-links/me|albums/|timeline/(bucket|buckets)|assets/)|(share|s)|_app/){
      proxy_pass *immich instance*;
    }
    

    note: this was found just by basic testing using NPM on my environment, I may have missed some more specific calls especially regarding videos as I don’t really do any video photography to allow for testing.

    Additional note: You may end up confusing your users with the UI though, as since lets you click on the immich banner to get to login, but everything would be blocked. You may just want to use the immich public project that was linked later in this discussion…


  • If it’s running as root anyway, then I change my statement. No I don’t see any security risk with it. Patchmon is running as root anyway, so no matter what your permissions are on the links or the original sock, as long as it’s smart enough to follow the link it should be fine. Generally symlinks follow the same permission as their target, with the exception of changing its owner with chown or removing it. I.E they are going to almost always just be whatever the permission of the target is. So your /var/run/docker.sock is going to be whatever permissions your /run/user/{userid}/docker.sock is normally and since patchmon is running as the root user, it’s not going to care what permissions are present as root overrides all restrictions/permissions anyway.

    I have my concerns that patchmon might try to change docker files while as the root user, which could create files that docker couldn’t read but since it seems to be using the docker sock anyway, I expect it’s just going to operate over the sock which means it would be using dockers built in system which would be using its docker user.


  • I’m not fully understanding here, are you saying that the symlink is root because root is required to access /var/run or that its root because its required by patchmon.

    If its root because the rest of the /var/run is root, is it not on the table to just chown the /var/run/docker.sock symlink to be the userid? since I would assume that patchmon would be running as the docker user anyway since you are running in a rootless environment? I might be misunderstanding.

    As long as your permissions to the symlink are in line with the permissions on the original sock, I wouldn’t expect there would be too much risk there. Of course a malicious vector /could/ see that a /var/run/docker.sock exists and try to manipulate it, but, since docker itself isn’t root which means that user executing the symlink isn’t root, I don’t think it would allow for escalation.