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

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

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

help-circle

  • bruce965@lemmy.mltoSelfhosted@lemmy.worldSelf hosted Onedrive alternative
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    edit-2
    3 days 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.




  • 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».


  • If you prefer video tutorials, all the tutorials from the Godotneers YouTube channel are imho easy to understand and quite clean (i.e.: everything is done the right way and explained properly).

    If you prefer text tutorials, the official documentation is actually much simpler and complete than you might expect from previous experiences with other engines.

    Also, if the only reason for you to dismiss C# is to not have to download .NET, I would recommend reconsidering. .NET is almost entirely open source, and it’s just a few hundred MB to download. That being said, I would still recommend trying GDScript first, as it’s easier and leaner than C# imho (which makes sense, since it’s a DSL).




  • Why would I want to spend my time with a game full of AI generation, when I could play one that had real actual people craft the work.

    Because people have different skill sets, and I’d argue that for someone who has no skills in drawing, using AI as a tool to help add a little polish is not worse than pulling a generic already-seen asset pack from [your favourite game engine]'s marketplace. It all depends on how much, and how, AI is used.

    Of course this only applies to indie developers and small studios. Big studios can afford to and should hire artists and designers.



  • 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
    ·
    2 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.


  • It’s possible, it just works. I used to dual boot for years and I kept the Firefox profile on a shared drive. The only issue is that every time you switch OS it will not load extensions on the first run. You can fix that by launching the browser, closing it, then launching it again. I haven’t had any other issues, and I would say that’s just a minor inconvenience.

    That been said, I haven’t used Windows for a few months, so things might have changed.

    Otherwise, if you don’t mind using Mozilla Sync you can sync between different OS. Some extensions require you to explicitly enable cloud sync though, and some extensions do not support it at all. You will have to manually copy settings for such extensions.