Sopuli lover

My interests are mainly music, instruments, tech, Linux and self hosting.

  • 0 Posts
  • 14 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle
  • Can’t say I’ve used Arch as my primary for very long periods but whenever I have used it as my primary there hasn’t been a lot of issues for me.

    Never had to roll back kernels, never really had any major issues that I know I didn’t cause or could be traced back me doing something, things were pretty smooth. There was some hurdles but they’ve gotten easier over time with the distro itself becoming a bit easier too.

    But I guess I’ve gotten that Linux intuition over the years.


  • Whenever I talk to people about Linux I try to never say it’s “Easier” or “Easy” when comparing to Windows but that it is different. How you use the computer and configure stuff is different.

    Things like Bazzite for gaming or other CoreOS based distros are great for having a stable ground for people who don’t want to mess with their stuff too much or tinker and I’ve heard a lot of good opinions and experiences about them as long as the CoreOS derive suit that audience to a tee in the first place.

    Whenever you want to go slightly off rails for the most common person who don’t have the experience of Linux but comes from a Windows or Mac background it does indeed become hard in the sense of being “different”.

    But a lot more so if you have incompatible hardware. You have to hope that you either have a laptop or computer with commonly used hardware by other Linux devs or you’re out of luck and have to dig through specialised packages to try and install.

    Luckily from my experience it becomes a lot less and less that does happen with newer-ish hardware. But not unheard of sadly.




  • If someone can read your journal logs and your kernel logs you’re already fucked.

    Dmesg requires root. The journal requires group permission. That would mean they’re either hacked in remotely through either your account or through root. Or they have physical access. The latter which can be resolved using LUKS.

    If someone is in remotely you’re already screwed as that can mean they can easily get autostarting scripts going or malware.





  • So I’m also using Beszel and Ntfy to track my systems because it’s lightweight and very very easy. Coming from having tried Grafana and Prometheus and different TSDBs I felt like I was way better off.

    I’ve been following Beszels development closely because it was previously missing features like container monitoring and systemd monitoring which I’m very thankful for them having added recently and I use containers as my primary way of hosting all my applications. The “Healthy” or “Unhealthy” status is directly reported by Docker itself and not something Beszel monitors directly so it has to be configured, either by the configuration in the Dockerfile of the container image or afterwards using the healthcheck options when running a container.

    As some other comments mentioned, some containers do come with a healthcheck built in which makes docker auto-configure and enable that healthcheck endpoint. Some containers don’t have a healthcheck built into the container build file and some have documentation for adding a healthcheck to the docker run command or compose file. Some examples are Beszel and Ntfy themselves.

    For containers that do not have a healthcheck built into the build file it is either documented how to add it to the compose or you have to figure out a way to do it yourself. For docker images that are built using a more standard image like Alpine, Debian or others you usually have something like curl installed. If the service you are running has a webpage going you can use that. Some programs have a healthcheck command built into it that you can also use.

    As an example, the postgresql program has a built in healthcheck command you can use of that’ll check if the database is ready. The easiest way to add it would be to do

        healthcheck:
          test: ["CMD", "pg_isready", "-U", "root",  "-d", "db_name"]
          interval: 30s
          retries: 5
          start_period: 60s
    

    That’ll run the command inside the container pg_isready -U root -d db_name every 30 seconds but not before 60 seconds to get the container up and running. Options can be changed depending on the speed of the system.

    Another example, for a container that has the curl program available inside it you can add something like

        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:3000/"]
          interval: 1m
          retries: 3
    

    This will run curl -f http://localhost:3000/ every 1 minute. If either of the above examples would exit with an exit code higher than 0 Docker would report the container has unhealthy. Beszel will then read that data and report back that the container is not healthy. Some web apps have something along the line of a /health endpoint you can use the curl command with as well.

    Unless the developer has spent some extra time on the healthchecks it is often just a basic way to see that the program inside the container is running. However, usually the container itself exits if the program it is running crashes or quits. So a healthcheck isn’t always necessary as the healthcheck will be that the container has abruptly stopped. This is why things like Uptime Kuma is something to consider running alongside Beszel because it can monitor when a web address or similar is down as well even if a container exits which as of now Beszel is still sadly lacking.

    I would recommend you read up on the Docker Compose spec for healthchecks since with the other options you can also do things like timeouts and what not, combining that with whatever program you’re running with the healthcheck you can get very creative with it if you must.

    My personal recommendation would be to sticking with Uptime Kuma regarding proper service availability healthchecks since it’ll be easier to configure and get an overview of things like slow load times of web pages and containers that have stopped while using Beszel to monitor performance and resource usage.



  • I’ve been a Joplin user as well for some time and decided to switch to something different too. I looked at Trilium as a possible alternative but decided it wasn’t for me. Seems like their self hosted sync server doesn’t have much in terms of proper authentication at all? At least from what I’ve seen from the setup and when I skimmed through the docs. However there does seem to be encryption available which at least seems to be something. The interface also seems very cluttered and has a wild amount of features I’ll never even dream of using extensively. I needed something more simple and streamlined.

    With that in mind and as I use Authentik for authentication and user management I decided to look elsewhere. I’m currently testing Jotty/Jotty.page, however they want to format it, and it has everything I need. But it lacks encryption and a proper mobile app. It does however have PWA support which is at least something. I do also enjoy that it is pretty much completely directory based. Even the users and user sessions and shared notes are just JSON files. This makes active backups a breeze and disaster recovery is going into a users directory and making a copy of their directories and .md files. It’s growing on me to say the least.


  • I’ve always found the installation process of Debian unintuitive for people not used to linux. But I could imagine that it’s probably abreally good contender once the packages are installed and the DE setup with any necessary extensions for file browsers and other programs, for example preview of files in Nautilus for GNOME. Unsure if that is automatically installed or not in Debian but could be a good idea to check.

    I’d suggest trying a test install in a VM if you can to check how well Debian will hold after configuration. Package updates for my Debian servers happens every once or so week and with a DEs GUI package manager it could simplify the process of the user actually hitting the update button.



  • Wow, good stuff. First when I saw the post my brain literally thought it was made for chronically online people but then I remembered about the business applications… Maybe I’m too chronically online…

    I might give this a go for a friend of mine who just started a company, it will most likely be an amazing tool for him!

    I am curious about the AI implementation, is it also ran on the server or do you connect to an external service like OpenAI? If it’s local, which model is it running and is it ethically sourced data?

    I’ll be keeping an eye on this project, seems great and I’m so glad you made it open source too!