• 1 Post
  • 247 Comments
Joined 7 months ago
cake
Cake day: December 13th, 2024

help-circle





  • hperrin@lemmy.catoSelfhosted@lemmy.worldHome surveillance set up
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    5 days ago

    I have all Reolink cameras and they’re awesome. They have both indoor and outdoor cameras. They’re really expensive compared to other similar cameras, but the software is really good, and there’s no subscription. You don’t even need to log in. Everything is only stored locally, on either SD cards in the camera or a separate “home hub” (or both). They have motion and object detection built into the cameras.

    The way I have them set up is every indoor camera is plugged into a smart outlet that disconnects their power through Home Assistant when either me or my wife are home.

    The outdoor ones are connected to solar power, so I didn’t even have to run any wires.

    I’d highly recommend them.


  • hperrin@lemmy.catoAsk Lemmy@lemmy.worldHow did you fuck up recently?
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    6 days ago

    Oh I got this. Real good fuck up. So, I run a bunch of services for me and family and friends, like Nextcloud, Immich, Mastodon, etc. All of their data is stored on a big RAID array built with mdadm. I built it before I knew about dm-integrity, so I wanted to rebuild it with dm-integrity running on all the disks. So I took out one disk (it’s a RAID6, so it can stand losing a disk just fine), and added dm-integrity on top of it. When I tried to add it back to the array, mdadm was like, “that’s not a big enough device”. Ok, yeah, makes sense, dm-integrity takes up some space. So I took all the services offline and started a resize2fs to reduce from 22TB to 18TB. Well that was taking forever, so I canceled and ran e2fsck, no worries. I started a new resize2fs reducing from 22TB to 21.8TB, which should be good enough. On pass 4, it’s looking like it’s gonna take 8 DAYS. I can’t have my services offline for that long, so I cancel and run e2fsck. Thousands of errors. Oops.

    At least it’s looking like all the errors are just in Mastodon’s cache files.

    So now I’m moving all the files to an external drive in order to migrate the array properly. In its degraded state though, the array is painfully slow. At least my services are online.

    So basically I risked my files (though I have a backup from about three days before all this), and gave myself an extra maybe ten days(?) of work.

    Moral of the story, don’t ever use resize2fs unless you have time to wait.




  • Safe, yeah. Private, no. If you want to verify whether a user is a real person, you need very personally identifiable information. That’s not ever going to be private.

    The best you could do, in theory, is have a government service that takes that PII and gives the user a signed cryptographic certificate they can use to verify their identity. Most people would either lose their private key or have it stolen, so even that system would have problems.

    The closest to reality you could do right now is use Apple’s FaceID, and that’s anything but private. Pretty safe though. It’s super illegal and quite hard to steal someone’s face.




  • hperrin@lemmy.catoLinux@lemmy.mlJellyfin assistance
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    13 days ago

    So, Jellyfin is one of those apps where the Docker documentation is really lacking. I’m gonna give you my docker-compose.yml file in case it helps:

    services:
      jellyfin:
        image: jellyfin/jellyfin
        user: 0:0
        restart: 'unless-stopped'
        ports:
          - '8096:8096'
        environment:
          #- JELLYFIN_CACHE_DIR=/var/cache/jellyfin
          #- JELLYFIN_CONFIG_DIR=/etc/jellyfin
          - JELLYFIN_DATA_DIR=/var/lib/jellyfin
          - JELLYFIN_LOG_DIR=/var/log/jellyfin
        volumes:
          - ./config:/config
          - ./cache:/cache
          - ./data:/var/lib/jellyfin
          - ./log:/var/log/jellyfin
          - /data/jellyfin:/data/jellyfin
        devices:
          - /dev/dri
    

    For me /data/ is my RAID array, which is why my jellyfin data directory is there. Everything else goes in the same directory as the compose file. My system has a graphics card that does transcoding (Arc A380), so I have /dev/dri under devices.

    You should learn a lot about Docker Compose, because it will help you tremendously. I use Jellyfin behind an Nginx Proxy Manager reverse proxy. I’d highly recommend it. Here’s my compose file for that:

    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        restart: unless-stopped
        network_mode: "host"
        #ports:
        #  - '80:80'
        #  - '81:81'
        #  - '443:443'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
    

    Running in “host” mode is important, instead of just forwarding ports, because it lets you forward things to localhost, like pointing https://media/.[mydomain]/ to http://127.0.0.1:8096/ for Jellyfin.

    Anyway, best of luck to you, and I hope that helps!