This is a bit of a Pokemon starter question. Just pick one and see where it takes you! They do roughly the same job, especially now that docker has a rootless mode. At the end of the day you’re learning a new technology and that’s a positive thing.
This is a bit of a Pokemon starter question. Just pick one and see where it takes you! They do roughly the same job, especially now that docker has a rootless mode. At the end of the day you’re learning a new technology and that’s a positive thing.
My process for project identification has been:
As for how to deploy, docker / podman are great! With podman I’d recommend looking into their systemd integrations too. Incus is a neat LXC option too, meant more for longer term services (less micro service focused, good and bad).
Hope this helps!
If anything AMD (for ML) is the hardware “I use [x] btw” (as in I go through unnecessary pain for purism or to one up my own superiority complex)
Real men use Incus NixOS containers for reproducible builds instead of wimpy dockerfiles 😤😤
/s – for real though, I hope someday you finally remove the stick from where the sun doesn’t shine ;)
What no love for Incus round these parts?
How long until “works on my machine” becomes “works on my config”
Maybe you should learn to read the manual or debug your system without hand holding 😉
I’d agree with you in the context of standard (google) android.
One caveat that I’d like to highlight, though, is that for me GrapheneOS and F-Droid handily achieve the privacy and rich FOSS ecosystem parts. Useful terminal depends on your definition :) but for my use case Termux fills the void.
It doesn’t feel like Linux (you can’t even use Wifi and Ethernet at the same time for crying out loud) but for a relatively cheap low-power device, I like the flexibility.
It’s far enough from being a foot gun that I can give a Pixel 5 with GrapheneOS and some F-Droid apps to my grandmother and know she’ll have no problems. Balancing that with having enough extensibility to scratch the itch for 99% of tinkerers is a feat to appreciate in my view.
I see a lot of love for proxmox in this thread.
Word of warning from my experience, sometimes PfSense seems to get confused with virtual interfaces. It works flawlessly once it’s up and running, but every time I reboot I have to assign interfaces. It will hang until I do so and will not completely come back online until I manually intervene.
Oh cool! I didn’t realize pandoc was extensible enough to deal with this kind of conversion. I’ll give it a look!
With the rise of these .md based personal knowledge database applications it would be amazing to see some conversion software.
I understand that each has their special sauce. Does anyone know what would be the most difficult part about building a tool like that to copy in Logseq data to SB for example?
Right!! Just like anything there’s a trade-off.
Glad you phrased the well-intentioned (and fair) critique in a kind way! I love it when there’s good discourse around these topics
You make a great point. I really shouldn’t contribute to the boogeyman-ification of port forwarding.
I certainly agree there is nothing inherently wrong or dangerous with port forwarding in and of itself. It’s like saying a hammer is bad. Not true in the slightest! A newbie swinging it around like there’s no tomorrow might smack their fingers a few times, but that’s no fault of hammer :)
Port forwarding is a tool, and is great/necessary for many jobs. For my use case I love that Wireguard offers a great alternative that: completes my goal, forces the use of keys, and makes it easy to do so.
Couldn’t agree more! Tailscale also lets you use Mullvad (up to 5 devices per Mullvad account, across all clients) as an exit node.
I’ll assume you mean what I mean when I say I want to be safe with my self hosting – that is, “safe” but also easily accessible enough that my friends/family don’t balk the first time they try to log in or reset their password. There are all kinds of strategies you can use to protect your data, but I’ll cover the few that I find to be reasonable.
Port Forwarding – as someone mentioned already, port forwarding raw internet traffic to a server is probably a bad idea based on the information given. Especially since it isn’t strictly necessary.
Consumer Grade Tunnel Services – I’m sure there are others, but cloudflare tunnels can be a safer option of exposing a service to the public internet.
Personal VPN (my pick) – if your number of users is small, it may be easiest to set up a private VPN. This has the added benefit of making things like PiHole available to all of your devices wherever you go. Popular options include Tailscale (easiest, but relies on trusting Tailscale) or Wireguard/OpenVPN (bare bones with excellent documentation). I think there are similar options to tailscale through NordVPN (and probably others), where it “magically” handles connecting your devices but then you face a ~5 device limit.
With Wireguard or OpenVPN you may ask: “How do I do that without opening a port? You just said that was a bad idea!” Well, the best way that I have come up with is to use a VPS (providers include Digital Ocean, Linode to name a few) where you typically get a public IP address for free (as in free beer). You still have a public port open in your virtual private network, but it’s an acceptable risk (in my mind, for my threat model) given it’s on a machine that you don’t own or care about. You can wipe that VPS machine any time you want, the cost is time.
It’s all a trade-off. You can go to much further lengths than I’ve described here to be “safer” but this is the threshold that I’ve found to be easy and Good Enough for Me™.
If I were starting over I would start with Tailscale and work up from there. There are many many good options and only you can decide which one is best for your situation!
Ah! I think I see the confusion.
# /etc/subuid
privatenoob:100000:65536
This denotes the range of subuids that are available to your user.
-u 100000:65536
This part specifies two things ([UID]:[GID]) even though it’s the same syntax as the earlier part that specifies one range :)
I suspect what you will want to do is use the following:
# change ownership of the directory to the UID:GID that matches something in your subuid:subgid range, in this case 10000:10000
podman unshare chown -R 100000:10000 /home/privatenoob/media/storage1/Filmek/
Then we can specify that the user in the container can match the user (UID) we specified above:
ExecStart=podman run --name=radarr -u 10000:10000 -p 7878:7878 -v radarr-config:/config -v /home/privatenoob/media/storage1/Filmek:/data --restart unless-stopped lscr.io/linuxserver/radarr:latest
As a note, if you copy/pasted that ExecStart line, you might have gotten the invalid argument error because you entered 100000
(outside of your subuid range, i.e. >65536) instead of 10000
.
There’s a nice guide that gives a great walkthrough. I’ll dig through my bookmarks and add it here when I get some time.
Hope this helps!
There are a few ways around it. The simplest is to add the --privileged
option.
The more secure method with podman is by specifying a user (ex -u 10001:10001
) from your extended subuid:subgid range after your full and proper setup of rootless podman :-)
Then instead of chown
you’ll want to use the oddly named podman unshare
tool to automatically set the permissions of the host directory. You would then want to start your service with systemctl --user
instead of sudo systemctl
It doesn’t rely on phone navigation for starters :)
I find it to be especially useful for running, or really sports in general where it’s not practical to carry a phone. Accelerometer step counting alone isn’t very accurate. Having GNSS on the watch is very helpful in a lot of ways.
Or a Bangle.JS 2 if you like GPS :-)
laughs nervously in NixOS