talkingpumpkin

joined 3 years ago

That's way too tame... I fear it won't attract 8M in funding.

Jokes aside, the Christian commandments are quite lacking (insufficient) when it comes to contemporary morals... eg. there's nothing forbidding discrimination or violence (short of homicide) or slavery or corruption or torture or neglicence etc. (and this is if one quite generously interprets "your neighbor" as "anybody else", which is clearly not what the word means and which doesn't explain why only some of the precepts have this "universal restriction").

I always find it weird when people cite the commandments as a moral compass without integrating them with (very much necessary) additional prescriptions.

[–] talkingpumpkin@lemmy.world 12 points 2 days ago

It’s part of the official install docs for docker

Not true.

The "add user to docker group" thing is not part of the install instructions (also, there is no official install docs for arch - but that's a moot point), it's in a separate document that literally starts with [emphasis mine] "These optional post-installation procedures describe how to configure your Linux host machine to work better with Docker" and contains a big orange box warning about that being part of the docker group is equivalent to being root.

Even if you think the docker doc could trick a newbie into thinking it's ok to make your user part of the docker group (which I'd argue it doesn't), you have to consider that:

  1. distros should be made by people who actually know what they are doing
  2. people who package something for an arch-based distro should at least read the arch wiki (which also clearly warns about the docker group)
  3. this whole thing is a very well known issue of a very well known software package, something that anyone who ever used docker with any seriousness (and most of the people who chose podman instead) knows very well

You can say that the whole "docker group" thing is a very stupid idea and that it's existence is squarely on the docker's devs, and you could even argue that it's a trap, but there cannot be any doubt that falling for this trap (that has big "this is a trap!" signs all over) is a major blunder for a distro.

it’s a group that gets automatically when you install it on any distro.

The issue is not the group existing, the issue is your user being part of that group.

Yes, you can make your user part of the docker group if you so chose, but distros should not make that very unwise choice for you per default (just as they shouldn't set things up to encourage you logging in as root or configure passwordless sudo for your user).

[–] talkingpumpkin@lemmy.world 5 points 2 days ago

Thanks for the correction!

[–] talkingpumpkin@lemmy.world 21 points 3 days ago* (last edited 2 days ago) (6 children)

The distro is (reportedly - I'm not touching it) just arch + hyprland + dotfiles scripts, the main dev is the same dev behind hyprland (who's right-leaning to say the least), and the money comes from right-leaning-to-say-the-least entrepreneurs.

errata: read the reply below

[–] talkingpumpkin@lemmy.world 18 points 3 days ago

Most probably those services are started because some other service depends on them.

After running systemctl disable someservice the service someservice is not "disabled" in the sense that it can't be started, it merely isn't started automatically at startup. If you want to make a service not startable, use systemctl mask (or, you know, uninstall/delete it?).

systemctl list-dependencies --reverse mysql.service should list the services that depend on mysql.service.

[–] talkingpumpkin@lemmy.world 28 points 6 days ago (2 children)

It's great to see more and more project leaving github!

PS: "Live Demo" on https://www.pdfding.com/ is a dead link

[–] talkingpumpkin@lemmy.world 9 points 1 week ago (4 children)

Wow. Do they block VPNs inside your country too?

Anyway, there's openvpn and there's nebula (I think nebula doesn't use wireguard.. do double-check), or you look into things built specifically to hide traffic (keyword: "vpn obfuscation").

No idea if VPN protocols other than wireguard may be blocked too (probably?).
No idea if trying too hard to circumvent government policies may get you added to some list you'd rather not be in.

[–] talkingpumpkin@lemmy.world 2 points 1 week ago

I really needed more AI propaganda, thanks!

[–] talkingpumpkin@lemmy.world 39 points 2 weeks ago (4 children)

I sometimes add a "tax" to the estimates of unrelated tasks, and use the extra hours to work on tech debt, unbeknown to upper management.

Not particularly ethical on my side, but... I'm the one that gets paged when things break down at night or on weekends, and I don't care that upper management doesn't care about that.

[–] talkingpumpkin@lemmy.world 3 points 2 weeks ago

There are both x64 and ARM64 RPM and Debian packages available for this closed-source Linux app.

One more reason to stick to my current niche distro :-D


BTW: out of curiosity, I just went to chatgpt.com and asked:

briefly, what's the recommended way to distribute a desktop app on linux?

The answer wasn't brief (at least for my definition of "brief": it started with a bullet list of all possible packagings) but it ended with:

If you want one recommendation: ship Flatpak + AppImage. Flatpak for normal installation/updates, AppImage as the portable fallback.

[–] talkingpumpkin@lemmy.world 9 points 3 weeks ago

left/right mouse button

[–] talkingpumpkin@lemmy.world 33 points 3 weeks ago (1 children)

I don’t know how to create suspense

I must pretty good at that, since I never know if my code is gonna crash until the very end :D

 

I'm looking for a forgejo cli (something similar to gh for github or glab for gitlab - neither of which I've ever used).

I found one named forgejo-cli and another named fgj but, from a quick look at the source, both seem to save my API key in a plaintext file, which... I just find unacceptable (and, frankly, quite dumb).

Do you know of any others?

 

Here it is https://codeberg.org/gmg/concoctions/src/branch/main/sh-scripts/nixos-rebuild

(if you try it and find any bugs, please let me know)

edit: I didn't realize the screenshot shows just instead of nixos-rebuild... that runs a script ("recipe") that calls nixos-rebuild so the output shown is from the (wrapped) nixos-rebuild

 

I'm trying to get my scripts to have precedence over the home manager stuff.

Do you happen to know how to do that?

(not sure it's relevant, but I'm using home-manager in tumbleweed, not nixos)


edit:

Thanks for the replies - I finally got time to investigate this properly so here's a few notes (hopefully useful for someone somehow).

~/.nix-profile/bin is added (prepended) to the path by the files in /nix/var/nix/profiles/default/etc/profile.d/, sourced every time my shell (fish, but it should be the same for others) starts (rg -L nix/profiles /etc 2> /dev/null for how they are sourced).

The path I set in homemanager (via home.sessionPath, which is added (prepended) to home.sessionSearchVariables.PATH) ends up in .nix-profile/etc/profile.d/hm-session-vars.sh, which is sourced via ~/.profile once per session (I think? certainly not when I start fish or bash). This may be due to how I installed home-manager... I don't recall.

So... the solution is to set the path again in my shell (possibly via programs.fish.shellInitLast - I din't check yet).

47
submitted 7 months ago* (last edited 7 months ago) by talkingpumpkin@lemmy.world to c/selfhosted@lemmy.world
 

I'd like to give my users some private network storage (private from me, ie. something encrypted at rest with keys that root cannot obtain).

Do you have any recommendations?

Ideally, it should be something where files are only decrypted on the client, but server-side decryption would be acceptable too as long as the server doesn't save the decryption keys to disk.

Before someone suggests that, I know I could just put lucks-encrypted disk images on the NAS, but I'd like the whole thing to have decent performance (the idea is to allow people to store their photos/videos, so some may have several GB of files).


edit:

Thanks everyone for your comments!

TLDR: cryfs

Turns out I was looking at the problem from the wrong point of view: I was looking at sftpgo and wondering what I could do on the server side, but you made me realise this is really a client issue (and a solved one at that).

Here's a few notes after investigating the matter:

  • The use case is exactly the same as using client-side encryption with cloud storage (dropbox and those other things we self-hoster never use).
  • As an admin I don't have to do anything to support this use case, except maybe guiding my users in choosing what solution to adopt.
  • Most of the solutions (possibly all except cryfs?) encrypt file names and contents, leaking the directory structure and file size (meaning I could pretty much guess if they are storing their photos or... unsavory movies).
  • F-droid has an Android app (called DroidFS) that support gocryptfs and cryfs

I'll recommend my users try cryfs before any other solution. Others that may be worth it looking at (in order): gocryptfs, cryptomator, securefs.

I'll recommend my users to avoid cryptomator if possible, despite its popularity: it's one of those commecrial open source projects with arbitrary limitations (5 seats, whatever that means) and may have nag screens or require people to migrate to some fork in the future.

ecryptfs is to be avoid at all costs, as it seems unamaintaned.

19
submitted 11 months ago* (last edited 11 months ago) by talkingpumpkin@lemmy.world to c/europe@feddit.org
 

Delusional.

 

A lot of selfhosted containers instructions contain volume mounts like:

docker run ...
  -v /etc/timezone:/etc/timezone:ro \
  -v /etc/localtime:/etc/localtime:ro \
  ...

but all the times I tried to skip those mounts everything seemed to work perfectly.

Are those mounts only necessary in specific cases?

PS:

Bonus question: other containers instructions say to define the TZ variable. Is that only needed when one wants a container to use a different timezone than the host?

 

Prometheus-alertmanager and graphana (especially graphana!) seem a bit too involved for monitoring my homelab (prometheus itself is fine: it does collect a lot of statistics I don't care about, but it doesn't require configuration so it doesn't bother me).

Do you know of simpler alternatives?

My goals are relatively simple:

  1. get a notification when any systemd service fails
  2. get a notification if there is not much space left on a disk
  3. get a notification if one of the above can't be determined (eg. server down, config error, ...)

Seeing graphs with basic system metrics (eg. cpu/ram usage) would be nice, but it's not super-important.

I am a dev so writing a script that checks for whatever I need is way simpler than learning/writing/testing yaml configuration (in fact, I was about to write a script to send heartbeats to something like Uptime Kuma or Tianji before I thought of asking you for a nicer solution).

 

I'm not much hoepful, but... just in case :)

I would like to be able to start a second session in a window of my current one (I mean a second session where I log in as a different user, similar to what happens with the various ctrl+alt+Fx, but starting a graphical session rather than a console one).

Do you know of some software that lets me do it?

Can I somehow run a KVM using my host disk as a the disk for the guest VM (and without breaking stuff)?

 

I have two subnets and am experiencing some pretty weird (to me) behaviour - could you help me understand what's going on?


Scenario 1

PC:                        192.168.11.101/24
Server: 192.168.10.102/24, 192.168.11.102/24

From my PC I can connect to .11.102, but not to .10.102:

ping -c 10 192.168.11.102 # works fine
ping -c 10 192.168.10.102 # 100% packet loss

Scenario 2

Now, if I disable .11.102 on the server (ip link set <dev> down) so that it only has an ip on the .10 subnet, the previously failing ping works fine.

PC:                        192.168.11.101/24
Server: 192.168.10.102/24

From my PC:

ping -c 10 192.168.10.102 # now works fine

This is baffling to me... any idea why it might be?


Here's some additional information:

  • The two subnets are on different vlans (.10/24 is untagged and .11/24 is tagged 11).

  • The PC and Server are connected to the same managed switch, which however does nothing "strange" (it just leaves tags as they are on all ports).

  • The router is connected to the aformentioned switch and set to forward packets between the two subnets (I'm pretty sure how I've configured it so, plus IIUC the second scenario ping wouldn't work without forwarding).

  • The router also has the same vlan setup, and I can ping both .10.1 and .11.1 with no issue in both scenarios 1 and 2.

  • In case it may matter, machine 1 has the following routes, setup by networkmanager from dhcp:

default via 192.168.11.1 dev eth1 proto dhcp              src 192.168.11.101 metric 410
192.168.11.0/24          dev eth1 proto kernel scope link src 192.168.11.101 metric 410
  • In case it may matter, Machine 2 uses systemd-networkd and the routes generated from DHCP are slightly different (after dropping the .11.102 address for scenario 2, of course the relevant routes disappear):
default via 192.168.10.1 dev eth0 proto dhcp              src 192.168.10.102 metric 100
192.168.10.0/24          dev eth0 proto kernel scope link src 192.168.10.102 metric 100
192.168.10.1             dev eth0 proto dhcp   scope link src 192.168.10.102 metric 100
default via 192.168.11.1 dev eth1 proto dhcp              src 192.168.11.102 metric 101
192.168.11.0/24          dev eth1 proto kernel scope link src 192.168.11.102 metric 101
192.168.11.1             dev eth1 proto dhcp   scope link src 192.168.11.102 metric 101

solution

(please do comment if something here is wrong or needs clarifications - hopefully someone will find this discussion in the future and find it useful)

In scenario 1, packets from the PC to the server are routed through .11.1.

Since the server also has an .11/24 address, packets from the server to the PC (including replies) are not routed and instead just sent directly over ethernet.

Since the PC does not expect replies from a different machine that the one it contacted, they are discarded on arrival.

The solution to this (if one still thinks the whole thing is a good idea), is to route traffic originating from the server and directed to .11/24 via the router.

This could be accomplished with ip route del 192.168.11.0/24, which would however break connectivity with .11/24 adresses (similar reason as above: incoming traffic would not be routed but replies would)...

The more general solution (which, IDK, may still have drawbacks?) is to setup a secondary routing table:

echo 50 mytable >> /etc/iproute2/rt_tables # this defines the routing table
                                           # (see "ip rule" and "ip route show table <table>")
ip rule add from 192.168.10/24 iif lo table mytable priority 1 # "iff lo" selects only 
                                                               # packets originating
                                                               # from the machine itself
ip route add default via 192.168.10.1 dev eth0 table mytable # "dev eth0" is the interface
                                                             # with the .10/24 address,
                                                             # and might be superfluous

Now, in my mind, that should break connectivity with .10/24 addresses just like ip route del above, but in practice it does not seem to (if I remember I'll come back and explain why after studying some more)

view more: next ›