Professional C# .NET developer, React and TypeScript hobbyist, proud Linux user, Godot enthusiast!

https://blog.fabioiotti.com/\ https://github.com/bruce965

  • 1 Post
  • 56 Comments
Joined 4 years ago
cake
Cake day: March 9th, 2022

help-circle

  • (Personal opinion not based on scientific evidence.)

    I would say that’s not possible for a hobbyist. The main issues with this kind of DIY phones are performance, compatibility with existing software, and most importantly battery life.

    The Raspberry Pi was never designed to be used with a small battery while still staying connected to the internet to receive notifications all the time, like a smartphone. If you want to build a usable smartphone you will need an efficient co-processor to do these tasks. This could get complicated fast unless you use a CPU designed for this job.

    There has been some interesting progress with desktop environments and small touch screens. Still nothing as good as Android, but nice UI is no longer the main issue imho.

    As for compatibility, good luck running Signal, Matrix and Thunderbird in the background without draining the battery.

    That being said, if you are just doing it as an excercise without expecting to build a device that will replace your main phone, you can definitely give it a try. Have fun and learn much!



  • Sorry, not an answer to your exact question… Dockge might be the answer if you need a web UI to manage Docker containers.

    If you need something more specific, like a button dashboard to run custom commands, perhaps you could build your own with Vite (Node.js). You will need to understand basic HTML, CSS and JavaScript. (EDIT: OliveTin makes more sense.)

    As for authentication, you could configure a basic authentication on your favourite reverse proxy (such as Nginx), or look for something more advanced such as OIDC/OAuth2 through Keycloak.


  • In that case I would say start with a Debian-based or Ubuntu-based distro of your choice. Ubuntu-based distros are also Debian-based, since Ubuntu is Debian-based. Mint is Ubuntu-based so it’s a good choice imho. Mint should work pretty well for backups and Minecraft.

    As a counter-example, Mint would (probably) be a poor choice if you want to turn that PC into a router or a DNS server, but sounds like that’s not what you have in mind.

    If you plan to Install more stuff in the near future, you could optionally look into containerization (Docker) which would allow you to someday swap Mint with another distro when you decide that you feel like changing. All of this, without having to reconfigure anything. Portainer might be a good soft-entry to Docker if you don’t love the terminal, it gives you a nice UI. And it’s compatible with Mint, ofc.

    As for the fedi instance, it’s a good exercise, you will learn a lot about networks. Personally I tried installing a Lemmy instance too, but I ended up turning it off as I realized that it didn’t make sense for my use case. It just wasted bandwidth to stay in-sync with the rest of the fediverse.



  • As far as I understand, audio cards hold a buffer of the audio that should be played at any time. If the CPU can’t keep up producing new audio, it will loop to the beginning of the buffer. My guess is that when you suspend, the CPU stops producing new data before the audio card stops consuming it. And that’s why you hear the last part for a short instant.

    It also happens on my devices, and it’s always happened on all my previous devices as far as I can remember.

    Disclaimer: this is based on my understanding + a lot of suppositions. It might not be accurate.



  • Personally I tried Bazzite because it was the recommended distro for a gaming device, and I liked it so much that it quickly became my main.

    Bazzite may present a bit more friction if you want to do something “advanced” that would otherwise be trivial on other distros perhaps with just a couple terminal commands, but it makes all the “simple” things super-duper easy, and the system is almost impossible to break.

    I would say this model makes sense for “ordinary” users that just need a computer to read email, view cat videos, open office documents, and in the specific case of Bazzite also gaming. In my specific case I also needed to write code (I use VSCode + Godot), besides the initial friction of learning to work with containers and SELinux, Bazzite seems to be fit for coding.

    Thus, I hope immutable distros will stay and thrive. I hope that one day someone will make a distro that you can just set and forget on your grandma’s laptop, and I think this distro should be immutable, like Bazzite.



  • bruce965@lemmy.mltoSelfhosted@lemmy.worldSelf hosted Onedrive alternative
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    1
    ·
    edit-2
    7 months ago

    You are invited to join the CopyParty! This has a web UI accessible from the browser, also from mobile, files are stored directly on the filesystem (not encrypted or on a database) and you can mount it as a network drive on Windows and Linux. But it doesn’t let you sync files for offline use, at least not without the help of some auxiliary tools.

    You won’t find anything simpler to install and configure than this.


  • Thanks for sharing your opinion and expanding.

    In the past I used to think the same. Or rather, probably naïvely, I considered the GPL to be a bit of a nuisance, and preferred LGPL or MIT software.

    Now I’ve changed my mind and started preferring AGPL for all my code. If a big company likes your MIT or LGPL code, they can legally steal it. If it’s GPL at least you get some safeguards, but they can still take it and put it on a server without the need to release the source code. That’s why I started to believe AGPL is the only “safe” license approved by the OSI, at least at the moment.

    Of course I agree that MIT and GPL or LGPL make sense in some cases, but I would say in general they don’t protect users’ freedom anymore in today’s cloud-first world.




  • bruce965@lemmy.mltoLinux@lemmy.mlGPG Key Managing
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    I am not OP, but that would be the ideal solution for me. Unfortunately, KPXC does not support communication with the GPG agent and the team is not interested in adding this feature due to it being «[…] far more complicated than ssh-key management. There are already excellent tools for this, Kleopatra being the best».




  • bruce965@lemmy.mltoLinux@lemmy.mlHow to manage configuration files
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    8 months ago

    Ah I see… I keep container configs in a specific directory, which contains one directory per-service, which contain all the config files + a compose.yml file to place them in the correct path in the container. I could commit everything to Git if I wanted to.

    Regarding network and firewall, you could make a symlink to a versioned file and keep your config with the containers. Same for firewall rules.

    I’m not sure what you mean by file sharing permissions. With containers you could give a different user to each service.

    If you are worried about memory and disk usage, another option I’ve been exploring recently is using OverlayFS, which, among other things, allows you to inject a directory at a specific path. Again, this would let you keep all your configs where you fancy the best. I use it through Bubblewrap.

    Anyways I realize that what I just described is far from standard… hopefully other users will suggest something less custom.


  • bruce965@lemmy.mltoLinux@lemmy.mlHow to manage configuration files
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    8 months ago

    If your goal is to host services, I would recommend looking into Docker, and eventually Podman. Containerization lets you keep the configuration wherever you want, personally I use a dedicated a directory for each service.

    Also, please note that a container is not a VM. It’s just a way to keep everything in one place.


  • Here’s my config for reference, which works for me:

    name: forgejo
    services:
      forgejo:
        image: codeberg.org/forgejo/forgejo:12
        environment:
          - USER_UID=1000
          - USER_GID=1000
        restart: always
        volumes:
          - ./data:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          #- 80:3000
          - 2222:22
        networks:
          - nginx
    networks:
      nginx:
        name: nginx
        external: true
    

    If you can share your error message we might be able to better pinpoint the issue.

    EDIT: I searched a bit and now I understand better what you are trying to do. I didn’t know about this “SSH shim” idea. This is not what I have done on my setup, sorry.