[–] 1 point 1 day ago

I've been daily driving linux for two years. Just upgraded to Ubuntu Cinnamon 26.04LTS from 24.04LTS, I edit video, stream game video, and found nothing I need to work that doesn't. Proton has been a game changer. Right before the upgrade I shrunk my windows partition to around 500 gb on my 4tb nvme after uninstalling all the games and most of the utilities on it.

I ran WoW back around 2005 on Linux but it was constantly breaking and a lot of stuff didn't work right or wouldn't stay working. I have dabbled here and there over the years but always had problems come up.

  • source
  • parent
  • context
  • [–] 1 point 1 day ago

    I have some that were bought in May of 2021. They are HGST Ultrastar 7K4000 4TB 64MB Cache 7200RPM

    I bought 12, ran a full burn in with bad blocks, long and short tests ran then for 3 months with data then cleared the old pool. They are in a RaidZ3 and are still working fine.

  • source
  • [–] 5 points 3 days ago (2 children)

    Make a syncthing directory for each person you want to share with. For only a few people it's really simple. I do this with a few different things. Each "share" can be setup with individuals or groups as you need.

  • source
  • [–] 8 points 4 days ago

    If you want 100% control and keep everything local FrigateNVR and the POE cameras of your choice. You can find used hardware online and pick and choose where you want to spend more cash. To save space for recordings a gpu or tpu/npu can be used for object detection.

    https://lemmy.world/c/selfhosted is a good place to search for some information and help.

  • source
  • [–] [S] 1 point 1 week ago*

    ZFS rollbacks only have to roll back the changed files so it's a pretty quick process unless there were some major changes.

    Yeah, that was the goal with the D3's. I'm trying to get things to the point where if I'm no longer able to handle things that the router will stay updated and be simple to repair for my family.

  • source
  • parent
  • context
  • [–] [S] 1 point 2 weeks ago (2 children)

    I keep config backups of the config as well but my boot drive is a pair of mirrored Intel D3-S4510's that are underprovioned by 50GB.

    Rollback time will technically depend on the size of the change since a rollback only replaces changed files so that will depend on how far back you are rolling back to. My largest snapshot references about 2GB and is a little over 4 months old, I would estimate about 5 minutes at most rolling back to that point.

  • source
  • parent
  • context
  • [–] [S] 1 point 2 weeks ago

    On OpnSense no. I previously did not have snapshots created. I have on FreeNAS when I had a setting issue that came up. Fundamentally it should be no different.

    I have had to reinstall OpnSense before and would rather not go through that again if at all possible.

  • source
  • parent
  • context
  •  

    So here is the deal. OpnSense is based on FreeBSD (as the users know but others may not understand) and utilizes ZFS Snapshots which are an amazing way to go back to a previous state when something breaks after an update. However for some reason the cron section has been changed so you can not add any random cron job and can only select from predefined options. This means we have to work from the CLI to add jobs, but even worse after an update the cron jobs are removed.... which becomes self defeating.

    I think I have a decent solution that will work to not only persist the backup script that will automatically create and remove snapshots but also recreate the cron jobs automatically. Ideally there would be some sort of addon where we could adjust things but this is the best I can do for now and want to share with everyone.

    Here is the script, place it at: /usr/local/etc/rc.syshook.d/start/99-snapshot-addon.sh and preform a chmod +x so that it is executable. Then reboot and the script to create the snapshot automatically and the cron job should be created. Since this runs on boot it will do this check after every update that requires a reboot or reboot in general and if the script and cron jobs are removed due to an update it will recreate them.

    #!/bin/sh
    
    CAT_PATH="/usr/local/opnsense/scripts/auto_be_retention.sh"
    
    # Ensure target directory exists
    mkdir -p /usr/local/opnsense/scripts
    
    # 1. Write/Update the auto_be_retention.sh script
    cat << 'EOF' > "$CAT_PATH"
    #!/bin/sh
    
    WEEKLY_RETENTION=6
    MONTHLY_RETENTION=4
    
    TYPE=$1
    
    if [ "$TYPE" != "weekly" ] && [ "$TYPE" != "monthly" ]; then
        echo "Usage: $0 [weekly|monthly]"
        exit 1
    fi
    
    DATE_TAG=$(date +%Y%m%d_%H%M%S)
    BE_NAME="auto_${TYPE}_${DATE_TAG}"
    
    /sbin/bectl create "${BE_NAME}"
    
    if [ "$TYPE" = "weekly" ]; then
        KEEP=$WEEKLY_RETENTION
    else
        KEEP=$MONTHLY_RETENTION
    fi
    
    /sbin/bectl list -H | awk '{print $1}' | grep "^auto_${TYPE}_" | sort | \
    awk -v keep="$KEEP" '
        { lines[NR] = $1 }
        END {
            to_delete = NR - keep
            for (i = 1; i <= to_delete; i++) {
                print lines[i]
            }
        }
    ' | while read -r OLD_BE; do
        if [ -n "$OLD_BE" ]; then
            /sbin/bectl destroy -F -o "$OLD_BE"
        fi
    done
    EOF
    
    chmod +x "$CAT_PATH"
    
    # 2. Inject cron tasks into /etc/crontab if missing
    CRON_FILE="/etc/crontab"
    
    if ! grep -q "auto_be_retention.sh weekly" "$CRON_FILE"; then
        echo "0 3 * * 0 root /usr/local/opnsense/scripts/auto_be_retention.sh weekly" >> "$CRON_FILE"
    fi
    
    if ! grep -q "auto_be_retention.sh monthly" "$CRON_FILE"; then
        echo "30 3 1 * * root /usr/local/opnsense/scripts/auto_be_retention.sh monthly" >> "$CRON_FILE"
    fi
    
    # 3. Reload cron daemon
    service cron restart
    

    This will check for and if missing create a script at /usr/local/opnsense/scripts/auto_be_retention.sh and it will check for and if missing create two cron jobs.

    The script located at /usr/local/opnsense/scripts/auto_be_retention.sh will create a snapshot with a timestamp named similar to: auto_monthly_20261001_033000

    It will also look the count of previous snapshots (6 for weekly and 4 for monthly which can be adjusted if you choose) and delete the oldest one. Weekly snapshots will happen every Sunday at 3:00 AM and monthly snapshots will happen on the 1st of the month at 3:30 AM.


    Why do we need this?

    We don't "need" this but the advantage is that if you can have automatic updates (which are an option that is available in the cron section) it's probably better to have a snapshot that can easily be rolled back to in the case of something acting up automatically created as well. The other option is try and undo the issue or take a config backup and reinstall then use that to get everything up and running again.

    Rolling back a snapshot takes a few minutes and gets everything back up and running until a solution for the issue/s are available.

    I ran the script and I am not seeing anything in the Settings > cron section!!

    You won't... that is part of the deal with how OpnSense has decided to handle things. You will need to look in: /etc/crontab This is because of how OpnSense is using menu drive cron selections, since the selections are not available it seems to not want to create or show them.

    I have done some testing and removed the files and jobs and also had them recreated. At the next update we will see if everything sticks around or if it is removed.

    Please remember that the script above is given without warranty or guarantee, use it at your own risk. I am not responsible if this script causes things not limited to but including data loss, testicular/breast shrinkage/growth, rude children, nagging wives/girlfriends/husbands/partners, alien visitation, global warming, or thermonuclear war. ID10T errors are also your own responsibility... you should not be running things you find on the internet without understanding how they work.

    [–] 2 points 2 weeks ago* (last edited 2 weeks ago)

    I use TP-Link Omada EAP-650's with the OC200 controller (there is a new version of the controller that is supposed to be better) and OpnSense as a router. Grab a POE switch and run wired cables if at all possible, yes they can mesh... wired > wireless and they still need power. With POE they are easy to ceiling mount, I have 2 and can access my wifi from 1/2 a block from home with one mounted near the front door and one near the back. You can use an app or the web interface, you can also forgo the controller and run the software on an always on computer.

    Devices that combine the wifi and router are underpowered, designed to be replaced in 2 years or so, and don't get updated enough to truly protect a network in the AI age which is where OpnSense is amazing. The Omada series allows you to literally drop in an extra AP or replace an old one, adopt and apply the setup, and be off and running. Combined with a managed switch and you can create separate vLAN's that will isolate devices until they touch the router and then you can decide what to do with it.

  • source
  •  

    Edit: This is a bonus check, he is not hurting for cash. He has a regular union pension plus social security.

    My father is an expat living in the Philippines. My half-sister was dealing with his mail and financial stuff but has stopped/went no contact with him. I have no clue why, but I'm guessing they had a fight over something (I have zero contact with her). He is asking me to receive a paper union pension check and either take a picture and send it to him so he can sign it and use an app to deposit or forge his signature and deposit it. It's bank fraud and for 600 I'm not willing to risk the consequences.

    He says the union won't direct deposit and it costs too much to send to him via mail or whatever. I asked why he didn't set up a remailing service and he said something about trust and thieves as well as not wanting to pay.

    He was not in my life 98% of the time and had ample opportunity to handle things before moving. He moved there to be with his new girlfriend while still married to another Phillipino. He said It was no big deal they do it all the time. She went with him then came back and sold everything she could and drained the accounts. I told him then I wouldn't be dealing with stuff I have no legal standing in.

    He tried guilt tripping me about the check and playing it off as no big deal and how desperate he is.

    This is what I sent him:

    ​I want to address this clearly so we can put it to rest.

    ​When you chose to move overseas, I advised getting your affairs settled first, which included making sure that your banking and mail situation was handled properly. That was your decision to make.

    ​We haven't been in touch for months, and you chose not to reach out until an emergency landed on your lap. That was your choice as well.

    ​When things fell apart with your previous living situation, you expected me to step in and deal with things. I told you then I was done dealing with this kind of chaos. I have no legal standing to handle your paperwork, and I will not do so. You have not formally provided legally binding documentation giving me explicit power of attorney, so I cannot and will not touch any financial or legal matters for you.

    ​You have always spoken highly of the unions and their benefits. They have the capability to handle direct deposits or wire transfers the same as any other business. They are on your side, not mine. You and the union created this administrative issue, and you will need to work with them to resolve it.

    ​My life experiences have taught me that family obligations do not override legal boundaries or personal safety. I will not commit check fraud, forge a signature, or take and transmit photos of negotiable financial instruments. Family, money, and legal issues do not mix, and I will not risk prison time or a federal banking violation over $600. There are people who get paid to deal with this type of thing.

    ​This situation cannot be my responsibility to fix. I wish you the best in figuring it out directly with the trust or finding someone who can assist you.

     

    I had an old Google Pixel 3a XL sitting around and decided to see if it could handle running as a fully offline, self-contained web server.

    I flashed postmarketOS 26.06 (headless Alpine Linux base) to it and set up a portable media node that broadcasts its own Wi-Fi AP, serves static pages, and streams video over a captive portal - no cell data or upstream internet needed.

    Quick Hardware/Tech Stack Breakdown:

    • Device: Google Pixel 3a XL (2019)
    • OS: postmarketOS 26.06 (CLI base with OpenRC)
    • Networking/AP: hostapd for the AP, dnsmasq for DHCP & wildcard DNS routing
    • Firewall: nftables redirecting port 80 requests to trigger the captive portal popup automatically
    • Web Server: Lighttpd handling HTTP requests and MP4 video range requests

    Performance & Power Draw: Under a test load streaming 720p video to 4 concurrent devices, total CPU usage averaged around 5% (load avg 0.51). Power draw stayed around ~2.4W off the internal battery, with temps holding steady at 54°C.

    Why build this? Mainly as an offline entertainment and information node. I run a non-profit foundation providing SCUBA training to young survivors of childhood abuse, and having a tiny, battery-powered web node lets us provide offline information and videos to people while traveling. I will also be able to use it to provide training videos if I am teaching in a location that does not have internet access available.

    I wrote up a complete overview covering the setup, and performance metrics if anyone wants to replicate it or build something similar. Over the coming weeks I will be posting configs and some other information to Github with a link from my site.

    https://www.muttmutt.us/geeky-stuff/portable-web-server-on-an-android-phone-for-offline-access/

    Happy to answer any questions about postmarketOS setup or the networking config!

     

    I had an old Google Pixel 3a XL sitting around and decided to see if it could handle running as a fully offline, self-contained web server.

    I flashed postmarketOS 26.06 (headless Alpine Linux base) to it and set up a portable media node that broadcasts its own Wi-Fi AP, serves static pages, and streams video over a captive portal - no cell data or upstream internet needed.

    Quick Hardware/Tech Stack Breakdown:

    • Device: Google Pixel 3a XL (2019)
    • OS: postmarketOS 26.06 (CLI base with OpenRC)
    • Networking/AP: hostapd for the AP, dnsmasq for DHCP & wildcard DNS routing
    • Firewall: nftables redirecting port 80 requests to trigger the captive portal popup automatically
    • Web Server: Lighttpd handling HTTP requests and MP4 video range requests

    Performance & Power Draw: Under a test load streaming 720p video to 4 concurrent devices, total CPU usage averaged around 5% (load avg 0.51). Power draw stayed around ~2.4W off the internal battery, with temps holding steady at 54°C.

    Why build this? Mainly as an offline entertainment and information node. I run a non-profit foundation providing SCUBA training to young survivors of childhood abuse, and having a tiny, battery-powered web node lets us provide offline information and videos to people while traveling. I will also be able to use it to provide training videos if I am teaching in a location that does not have internet access available.

    I wrote up a complete overview covering the setup, and performance metrics if anyone wants to replicate it or build something similar. Over the coming weeks I will be posting configs and some other information to Github with a link from my site.

    https://www.muttmutt.us/geeky-stuff/portable-web-server-on-an-android-phone-for-offline-access/

    Happy to answer any questions about postmarketOS setup or the networking config!

     

    I see posts on here all the time asking for help with legal, workplace, housing, or consumer rights issues, but the original poster leaves out where they live.

    ​Since Lemmy is a global platform, an answer that is 100% accurate in the US might be totally wrong or useless in Canada, the UK, or the EU, or even between different US states. Something like tenant rights or consumer laws (like optometrist prescription rules) changes completely depending on jurisdiction. Without knowing where someone is, commenters either give bad advice based on their own country's laws or waste time asking "Where are you located?" before they can even answer.

    ​Obviously, privacy matters, and no one should feel forced to give away their exact city or dox themselves. Stating just a country, state, or province keeps you anonymous while giving people enough context to actually help.

    ​Should communities encourage or require basic location tags for advice posts, or is there a better way to handle this?

     

    Long story short I'm in the process of building an outdoor air quality, temperature, humidity, pressure, and motion sensor setup for my front porch. One is the PM1006K which is a cheap (10.00 on Amazon) pm2.5 sensor. It's supposedly used in some consumer air filter systems and a review said it worked with ESPHome... well it does after a ton of poking and prodding with a little flogging of the wires.

    The link is to the github page where I have the final product posted. I know there are better sensors available but they tend to run more and the really good ones use a laser sensor and burn out over time so it becomes an ongoing (some only last 8000 hours) expense.

    This one is a DC01 Infrared PM2.5 Air Quality Sensor. And I'm pairing it with a DHT22 for temperature and humidity, a BMP280 temperature and barometric pressure sensor, an MQ-2 + MQ-7 + MQ-135 for hazardous gasses and smoke, and a BH1750 light sensor, a AM-312 + a HC-SR04 for motion detection. All running on an ESP32-S3 which is also acting as a Bluetooth Low Energy proxy.

    All the code will be able to be found at https://github.com/nightshade00013/MuttMutt-ESPHome when it's 100% completed. But being the pm2.5 working correctly was a huge step in the right direction. And the main reason why I am posting this now so others who are interested in building a cheap sensor can get started.

     

    I’ve never really understood the appeal of paying more for a shirt just because it has a brand like Nike or Adidas or something with another brand that sells a product printed across it when a plain, unbranded one costs less.

    ​If you think about it, walking around wearing a giant logo is basically acting as a walking billboard for that company. Usually, if a company wants to advertise on a billboard, they have to pay for the space. But with branded clothes, people not only provide the advertising space for free, they actually pay extra for the privilege.

    ​It feels a bit backwards to me. For those of you who prefer branded clothing, what makes it worth the extra cost for you?

    Edit: I'm not speaking of sports equipment. Just clothing you would wear to the movies, the store, etc.

     

    The Coral TPU driver has basically been abandoned by Google so if you are running a Linux kernel newer than 6.2 it will not function.

    https://github.com/google/gasket-driver is the original driver which was archived on April 18, 2026

    You can try the driver https://github.com/feranick/gasket-driver or https://github.com/dude84/gasket-driver-coral or search through the forks of the original gasket-dkms driver https://github.com/google/gasket-driver/forks

    So in the future your options are to pin your kernel to 6.2, upgrade your hardware, hope that someone will keep a gasket-dkms fork updated for newer kernel versions, or make your own fork to do so yourself.

     

    So I love DIY. I have built some crazy projects and while rebuilding a house while I live in it I have the opportunity to integrate some really cool things.

    It's also getting to the point where I need to backup and document what I'm doing and how I'm doing it. As an added benefit I can easily share it with others. I'm currently doing a complete code rewrite so that I can have each device yaml pull from a single base configuration yaml file in a similar fashion as a secrets file and eventually contemplating a master IP file as well with a complete static IP setup.

    Right now I have an example secrets file that I am using along with my base-config.yaml. I also have three projects included: my pulse output water meter configuration that includes the ability for a ESPHome usage alert, my 240V electric water heater controller, and the ESPHome configuration yaml that allows the dust integration of the CircuitSetup.us split phase energy meter. I have also included a prompt that you can use with an Ai to calculate the voltage and amperage gain calibration.

    I will say that many of the projects deal with voltages and currents that are dangerous and should not be attempted without full understanding of proper electrical safety.

    I've been using my water heater controller for over 5 years without issue. My energy meter has been in use for 3 years and my water meter has been in use for a little over a year.

    I will also be including the yaml I'm using for some other projects and prebuilt devices I have converted to ESPHome in the future. My hope is that even if you don't use this for a project that is the same that the yaml will potentially help others with their projects.

    view more: next ›