rutrum

joined 1 year ago
 

I feel like Im dancing around perhaps the most fundamental piece of my operating system everytime I run and install software. Starting services with systemctl and checking logs with journalctl is the extent of my knowledge.

Do you know of good resources or tutorials for learning how systemd works and how to use it to run software on my desktop and servers? Thanks.

[–] rutrum@lm.paradisus.day 4 points 3 weeks ago* (last edited 3 weeks ago)

~/repo for code I write and ~/src for code I didnt.

[–] rutrum@lm.paradisus.day 6 points 3 weeks ago

I used Zola for a while, but at the end of the day there wasnt enough themes available that fit what I was looking for. I ended up messing with the templating engine to get what I needed.

I suggest OP choose Hugo over Zola, in the hopes that they find a theme that suits them best and for the most part prevents them from having to touch templating to begin with.

[–] rutrum@lm.paradisus.day 5 points 1 month ago

Paperlessngx will store pdfs and index their contents for searching. It's not necessarily meant for books but I think it would work.

[–] rutrum@lm.paradisus.day 9 points 1 month ago

I recently built a site with hugo. Its very easy. You pick a theme, then write some markdown files. And when you need flexibility, you have it for later. I also think it's the most popular right now, which lends to a lot of themes to pick from and a lot of cpmmunity support.

[–] rutrum@lm.paradisus.day 4 points 2 months ago (2 children)

Use a raid atrray, and replace drives as they fail. Ideally they wouldnt fail behind your back, like an optical disk would.

[–] rutrum@lm.paradisus.day 3 points 2 months ago (1 children)

I've used minio briefly, and I've never used any other self hosted object storage. In the context of spinning it up with docker, it's pretty easy. The difficult part in my project was that I wanted some buckets predefined. The docker image doesn't provide this functionality directly, so I had to spin up an adjacent container with the minio cli that would create the buckets automatically every time I spun up minio.

But for your use case you would manage bucket creation manually, from the UI. It seems straight forward enough, and I don't have complaints. I think it would work for your use case, but I can't say its any worse or better than alternatives.

[–] rutrum@lm.paradisus.day 1 points 2 months ago

Has anyone ever used the enterprise version of dbeaver? Does it do as good a job interfacing with nosql databases it does relational databases?

 

I just got a drawing tablet, and have been wanting some software that would allow me to work out math problems, draw architecture diagrams, etc. I've seen some tools like Excalidraw, which look handy for the sharing capabilities. I also have just used plain krita, which has great feedback for the pen sensitivity, but obviously is overkill for whiteboarding.

Are there any tools you use or recommend for handwriting or picture drawing? Pen or mouse?

[–] rutrum@lm.paradisus.day 2 points 3 months ago

Can you post a pic of your DE? Im curious to know what your cinnamon looks like.

[–] rutrum@lm.paradisus.day 1 points 3 months ago

My drive to nix was so I could simply manage what packages I had installed with a text file. If I removed something from the file, I expect it to be uninstalled. I never found a tool/wrapper for apt to do this.

If you want to start with nixos, I would take whatever distro you are on and install nix and then home manager. Then, you can slowly migrate your user configuration over without starting from scratch. That worked really well for me going from ubuntu to nixos.

[–] rutrum@lm.paradisus.day 11 points 4 months ago

Niri looks really cool. I've used tiling WM before but scrolling is a unique take, perhaps more productive for some folks?

Nushell is a good one. I do data science for a living and it'd be nice to have the shell handle some small data transformations instead of writing a script in python. But all the syntax and behavior is very different than bash, so I've been afraid to start because of the learning curve.

[–] rutrum@lm.paradisus.day 16 points 4 months ago (7 children)

I think containers get seen as overhead unfairly sometimes. Yes, its not running on bare metal, so theres a layer of abstraction, but I think in practice the performance is nearly identical. Plus, since AIO does things out of the box for you (like a redis cache for instance) it ends up being more performant than a standalone nextcloud instance that isnt configured properly.

That is to say, I use AIO without issues.

[–] rutrum@lm.paradisus.day 4 points 4 months ago (2 children)

Im using nextcloud news and the associated app. I like it because it lets me play podcasts in a player built into the android app. I havent found an up to date rss reader for freshrss that does the same (read you is beautiful, but doesnt have this feature.) And I have nextcloud already up so its easy to start with.

Theres also many plugins for freshrss, including one for rss-bridge that turns urls into rss feeds. I use this for youtube subscriptions. You could also use rss bridge independently, which is what I use for nextcloud news.

 

I'm in desparate need of setting up borgmatic for borg backup. I would like to encrypt my backups. (I suppose, an unencrypted backup is better than none in my case, so I should get it done today regardless.)

How do I save those keys? Is there a directory structure I follow? Do you backup the keys as well? Are there keys that I need to write down by hand? Should I use a cloud service like bitwarden secrets manager? Could I host something?

Im ignorant on this matter. The most I've done is add ssh keys to git forges and use ssh-copyid. But I've always been able to access what I need to without keeping those (I login to the web interface.) Can you share with me best practices or what you do to manage non-password secrets?

 

TabbyML is a self-hosted code assistant. I have been unsuccessful at running it using my Nvidia GPU. There's two ways I've tried to deploy this.

As a docker container

Following the docs, it states I run the following docker run command. Below is what I run, modified to use the correct port:

docker run -it --gpus all \
  -p 11029:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby serve --model StarCoder-1B --device cuda

Then I get the following error:

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

So this would appear that I don't have the "nvidia-container-toolkit" installed on my machine. So I go ahead and enable this in nixos:

hardware.nvidia-container-toolkit.enable = true;

To validate that this works, I should be able to run nvidia-smi from within a container. I can run this from the host without issue:

$ nvidia-smi
Wed Jun  5 08:14:50 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.78                 Driver Version: 550.78         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
...and so on

But if test this from a container, as the nvidia docs suggest as follows, I unable to access it from within the container.

$ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
docker: Error response from daemon: unknown or invalid runtime name: nvidia.

Okay, so I go and read the instructions further. Install instructions state that after installation, I need to configure the runtime like so:

$ sudo nvidia-ctk runtime configure --runtime=docker
sudo: nvidia-ctk: command not found

Ah nuts. That's a bug in nixos. I made a PR for this here: https://github.com/NixOS/nixpkgs/pull/317199 Still awaiting results from this. I don't know if this is a bug that will be backported to 24.05. Regardless, I wouldn't expect this ad-hoc configuration when I enable the nvidia-container-toolkit option in NixOS. Anyway, this option could still work but with some more time. If you have advice doing this let me know.

FOUND Docker method solution

So looking closer at people with the error message "no such runtime nvidia" I found this thread. It specifies that what nvidia-ctk is supposed to do is add a "runtime" that points to the nvidia-container-runtime executable. So I tried manually adding that my nixos configuration by using the virtualisation.docker.daemon.settings options. I was having trouble getting that working, because I needed to find the exact path to the nvidia-container-runtime executable. If you know Nix, you know that it isn't just in /usr/bin/.

But that's still not a satisfying solution anyway...I shouldn't have to this. I went in deeper and looked at module for nvidia-container-toolkit. This module calls a script called cdi-generate.nix. It outputs the results of nvidia-ctk to a file called nvidia-container-toolkit.json.

Let's go look for that file...can't find it. I do more searching...anyway, I found the solution.

The nvidia-container-toolkit is a new option in NixOS 24.05. It explicitly states in the release notes that it is supposed to replace the now deprecated virtualisation.{docker, podman}.enableNvidia options. Well, when you go look at the module that defines docker.enableNvidia you see it there at the bottom! This file actually defines the nvidia runtime!

And yes, it works. Using the now "deprecated" option is the one that actually works. I guess this is another bug to file to NixOS.

This seems to work so far, but I don't know why the solution using a NixOS module doesn't work either.

As a NixOS module

Let's just do it the full NixOS module way (which is what I tried first). That should be easy. Let's enable the feature and set some options:

services.tabby = {
    enable = true;
    port = 11029;
    acceleration = "cuda";
  };
  networking.firewall.allowedTCPPorts = [ 11029 ];

It appears to be working! VSCodium extension sees the server and prompts for a authentication token. I add the token. I type some code and set for a manual trigger...then tabby dies. Let''s look at the systemd logs.

tabby[76786]: 📄 Version 0.11.1
tabby[76786]: 🚀 Listening at 0.0.0.0:11029
tabby[76786]:   JWT secret is not set
tabby[76786]:   Tabby server will generate a one-time (non-persisted) JWT secret for the current process.
tabby[76786]:   Please set the TABBY_WEBSERVER_JWT_TOKEN_SECRET environment variable for production usage.
systemd[1]: tabby.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: tabby.service: Failed with result 'exit-code'.
systemd[1]: tabby.service: Consumed 2.285s CPU time, received 121.0K IP traffic, sent 1.6M IP traffic

That's it. It's not very descriptive about what happened. I've had success running it this way using the "cpu" option for acceleration (no GPU) but that's too slow to be useful.

GPU specs

I am running a Nvidia RTX 2060 and using the proprietary drivers version 550.

Thanks for the read, if you have any input on what to do next let me know what I can try. Ideally, I'd like to have both options work, since I think the docker implementation may have the same problem as the NixOS module option.

24
"No code" databases (lm.paradisus.day)
submitted 5 months ago* (last edited 5 months ago) by rutrum@lm.paradisus.day to c/selfhosted@lemmy.world
 

I've been seeing easy ways to store and view tabular data. I'm aware of tools like nocodb, baserow, and mathesar. I'm currently playtesting nocodb. But I wanted to start a discussion on what everyone uses for easily storing tabular data, and if anyone uses these tools.

I've also tried nextcloud tables but it still is very early in development from what I can tell.

 

I have a google pixel, and I know I could install grapheneOS on it. But I'm very, very hesitant, since I depend so much on my phone.

This isn't like distro hopping, where I feel more comfortable hot swapping ssds, or making partitions, or using my desktop while I tinker with my laptop. My phone has a SIM and the service I depend on can't be emulated off this phone.

So what do you recommend I do? Should I move my SIM (my phone service, really) to a new phone while I tinker with this one? Can I just blow up the current OS and wing it? Or maybe theres another option that would allow me to bail back to stock android in case something goes wrong. What do you think?

EDIT: how I use my phone: about everything I use is from fdroid, with the occassional app from aurora. I do use my banking app to cash checks, but I don't use whatsapp, google pay, which I know arent compatible. So as far as app compatibility I dont think it'll be a problem, Im mostly worried about my phone number not working. I dont know how SIMs work like I should, I just know Ive had the strangest issues in the past with it, so Im hesitant. Thanks for the replies so far.

 

I've recently aquired the hardware to build a home server/NAS. I'd love to know some community-guided advice on tools I should consider, and what best practices are?

For instance, how does redundancy work? Whay about automated backups? What OS should be running on a NAS? What utilities can I use to monitor the safety of my data? Perhaps even a guide about how to safely share that data outside my home network for personal use, or even open for the internet, without compromising my network?

Thanks for the discussion

 

You know, ZFS, ButterFS (btrfs...its actually "better" right?), and I'm sure more.

I think I have ext4 on my home computer I installed ubuntu on 5 years ago. How does the choice of file system play a role? Is that old hat now? Surely something like ext4 has its place.

I see a lot of talk around filesystems but Ive never found a great resource that distiguishes them at a level that assumes I dont know much. Can anyone give some insight on how file systems work and why these new filesystems, that appear to be highlights and selling points in most distros, are better than older ones?

Edit: and since we are talking about filesystems, it might be nice to describe or mention how concepts like RAID or LUKS are related.

 

Dust is a rewrite of du (in rust obviously) that visualizes your directory tree and what percentage each file takes up. But it only prints as many files fit in your terminal height, so you see only the largest files. It's been a better experience that du, which isn't always easy to navigate to find big files (or atleast I'm not good at it.)

Anyway, found a log file at .local/state/nvim/log that was 70gb. I deleted it. Hope it doesn't bite me. Been pushing around 95% of disk space for a while so this was a huge win 👍

 

I came across privacy.com, a service that generates virtual credit cards, like aliases for your real credit card that can be paused or discarded at any moment.

My own credit card company has this feature. But it requires a browser plugin that so obviously is there to track my spending habits, so I've not wanted to consider it. Privacy.com looks like a great alternative.

But is it even worth it? It may be a hastle, but I can also cancel my actual credit card at any moment and they will send me a new number immediately and a card a few days later. From a privacy prospective, how much can a company use my credit card credentials to track me? Maybe a third-party virtual card provider even masks my own purchases so not even my credit card company knows? Not sure about that one.

Please share if you use one, who its with, and if its worth it.

view more: next ›