this post was submitted on 09 Aug 2023
84 points (97.7% liked)

Technology

71269 readers
4314 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
top 17 comments
sorted by: hot top controversial new old
[–] StrawberryPigtails@lemmy.astaluk.icu 12 points 2 years ago (4 children)

Does anyone actually use LXD? I never could figure out the deal with this.

[–] Hexarei@programming.dev 6 points 2 years ago (1 children)

Yeah I use it through proxmox but it doesn't make much difference to me. It's practically a lower-overhead VM as far as I'm concerned

[–] lemming741@lemmy.world 3 points 2 years ago (1 children)

Same, cause I can't pass through my video card or my coral with the motherboard I have. So frigate runs in an lxc. When I move jellyfin over to that box, it will be an lxc too for the same reason

[–] Hexarei@programming.dev 3 points 2 years ago (1 children)

Frigate the NVR? What're your thoughts on it? Been looking at NVRs for a while and hadn't seen that one

[–] lemming741@lemmy.world 2 points 2 years ago

I don't have anything to compare it to, but I wanted local object detection and it's kind of the only option. Configuration had a learning curve. There's somewhat limited playback options, but they cover the basics. It doesn't transcode playback so on mobile, the 4k playback buffers. I could make a smaller stream to record but I wish it was dynamic on playback. The object detection works well enough, but there are a lot of false positives. They're using the default models for now, but are working on frigate.plus models. The pricing structure for that is wack though. I bitch about photoprism's subscription features, and frigate plus also wants $5/month for the rest of your life or the model stops working. I'd be happy to pay a one-time fee to unlock but I refuse to pay subscription for a product that is self-hosted.

[–] sbstp@programming.dev 6 points 2 years ago

I used to use LXC maybe 5 years ago but I've since replaced everything with docker/compose. The main difference between LXC and Docker is that LXC is meant to be more like a Virtual Machine than a container. LXC containers run their own instance of systemd and can run multiple processes easily. Docker is meant to run a single process although people sometimes do hacks with supervisord or s6 overlay to run multiple processes.

At the time LXC didn't really have a concept of images like Docker, it was just base images like Ubuntu 18.04 or Debian 9 and you'd shell in the container and install your stuff.

LXD is a tool built on top of LXC, confusingly enough the LXD client is called lxc... It's higher level and might have the ability to use images, not sure, I never felt the need to learn it.

[–] bigredgiraffe@lemmy.world 4 points 2 years ago* (last edited 2 years ago) (2 children)

I don’t know anyone using it personally but I have seen lots of folks here and Reddit that use LXC through Proxmox, I had the same thought though.

[–] IHeartBadCode@kbin.social 10 points 2 years ago* (last edited 2 years ago) (1 children)

Well hold on, LXD is a subset of LXC, that is LXC is at the heart of LXD but LXD brings with it a RESTful API written in Go to control LXC. Canonical doesn't own LXC, IBM wrote LXC.

LXD and LXC became really intertwined once Docker and CoreOS Containers dropped LXC and went their own way. Basically leaving LXD as the sole claim to fame for LXC. What Incus is doing is basically providing a RESTful API on top of LXC, pretty much the exact same way LXD does exactly that as well.

In fact given Canonical's Google-lite approach to dropping projects like they're hot and the maintainers that are heading to Incus, Incus is less fragmentation and more migration.

the initial set of maintainers for Incus will include Christian Brauner, Serge Hallyn, Stéphane Graber and Tycho Andersen

I mean that pretty much is the bulk of people that know how this software works inside and out. I just don't see Canonical (inventor of the MIR Display Server) devoting the resources to keeping up with LXD when a good bit of mind-share just moved over to Incus.

This is just more of the same that's helping Canonical become less leader in the deb based distros and more just a player. Add in their wonderful call to double down on snaps and you've got a 1-2 combo they've dealt to themselves. Canonical just did the MySQL vs MariaDB to LXD. Like MySQL is still useful, but MariaDB left MySQL in terms of features and functions in the dust long ago. You use MySQL today because of name recognition. You use MariaDB when you actually need a database with actual features.

And the likelihood the exact same thing happens with LXD just jumped an order of magnitude by seeing who just signed on to Incus.

EDIT: And Incus has replaced LXD on the linuxcontainers.org page already. Ooof. I wouldn't want to be Canonical at the moment.

[–] InvertedParallax@lemm.ee 2 points 2 years ago

Thank you for finally explaining lxd.

I actually might use the python api, I didn't see a point for it otherwise.

[–] Dalraz@lemmy.ca 2 points 2 years ago

Exactly that, I have a few lxd containers on my proxmox host along with traditional vms, also have docker running inside a lxd vs a vm

[–] jecxjo@midwest.social 3 points 2 years ago (1 children)

I use it all the time, similar to how I use jails on my FreeBSD systems. Basically when I need to compartmentalize an app I launch a new instance of Alpine and install the app.

As an example I have a container that has my VPN software and a browser that I know is a clean room.

I run Gentoo as my main distro and sometimes a package is distributed only as a deb with very specific version dependencies I can't build. So I spin up a base Debian container and install the app. If it's X11 I can launch it into my current session and if it's console then I can always mount my home directory as a network share.

[–] InvertedParallax@lemm.ee 2 points 2 years ago (1 children)

Use lxc same way, works well, used lxd that way once or twice but with a decent lxc script it worked that way.

Agreed on jails, lxc finally brought that functionality to linux.

[–] jecxjo@midwest.social 2 points 2 years ago (1 children)

With the addition of Alpine Linux containers are now barely bigger than the application itself.

[–] InvertedParallax@lemm.ee 0 points 2 years ago (1 children)

Yeah, on bsd jails are basically shared because of zfs, I should use more alpine, but more complex applications often need something closer to debian, and my alpine fu isn't very good yet.

We really, REALLY need a dockerfile for lxc so you call lxc-build and it pulls and compiles/configures everything for you automatically.

Thats the dream.

[–] jecxjo@midwest.social 2 points 2 years ago (1 children)

I want to look into NixOS. They basically have a one file config and install for your entire system. Wonder how well it works in lxc.

[–] InvertedParallax@lemm.ee 1 points 2 years ago (1 children)

I wouldn't want Nixos as my base, but yeah, it sounds like the ultimate lxc base.

[–] jecxjo@midwest.social 2 points 2 years ago

Sadly my daily driver is getting pretty old and slow so i typically dont put big distros on lxc. Maybe NixOS can he configured to be super slim. New weekend project.