this post was submitted on 26 Sep 2026
96 points (95.3% liked)

Selfhosted

62325 readers
1506 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

I usually connect with my server via ssh in a terminal and run basic commands. What's a better, more efficient and modern way of doing that? Especially considering ai and documentation along the way? I wonder if there's a better approach than "connect from remote and act local". Is there a method to "code local and push to remote"?

I use a fedora server with podman, caddyfile and vi.

you are viewing a single comment's thread
view the rest of the comments
[–] kossa@feddit.org 21 points 1 day ago (1 children)

Ansible is one way to "code local, push to remote(s)". Can define so-called playbooks, which is basically just a script, to do reoccuring tasks like e.g. updates.

[–] Mubelotix@jlai.lu 2 points 1 day ago* (last edited 1 day ago) (2 children)

Ansible is great, I just wish it would automatically cleanup stuff on the server when I remove parts of the config. I know it's not the goal, but I dream about a tool that works this way. I get many leftover stuff over years

[–] fefe00325@feddit.org 8 points 1 day ago (1 children)

That sounds like NixOS to me.

[–] ruuster13@lemmy.zip 8 points 22 hours ago

I have yet to try it but apparently

[–] mhzawadi@lemmy.horwood.cloud 3 points 1 day ago (1 children)

We fixed that with roles that manage both install and uninstall

[–] Mubelotix@jlai.lu 1 points 1 day ago* (last edited 1 day ago) (3 children)

That works but that's only useful if you have many machines. I have a single server so it's the same burden as doing it manually. If only the uninstall step could be completely automated by just reverting the install step

[–] med@sh.itjust.works 1 points 18 hours ago* (last edited 18 hours ago)

I generally find writing a good role takes longer than doing it manually. Especially as you have to keep testing failure conditions as you think of them.

However, the point is, that once you're finished with the role, you never have to do that process again.

Not if you want to rebuild Not if you want to migrate to a new os Not if you build a second server Not if you move to a newcloud hosting provider

Porting to a new OS or after an update that changes how the software works is about as fast as doing it manually

Maybe it's only one server today, but how many times would you need to rebuild it over the running lifetime?

The killer feature is that having something like ansible lets you kill your darlings, and keep servers aa cattle, not pets.

Manual setup chops isn't a different skill here. I view ansible as a combination setup and documentation. If you're going to figure out how, why not write down how you did it? If you're going to write it down complete with code lines to run, why not script it?

[–] mhzawadi@lemmy.horwood.cloud 3 points 1 day ago

Not quite, if you write the role to manage the life cycle of a bit of software then uninstall is part of that life cycle.

But I do see that investment in time looks more then just do it by hand

[–] Cyber@feddit.uk 2 points 1 day ago

To be fair to Ansible, that's probably a packaging issue.

If the 1st run of an application creates a bunch of files and folders, then the packager won't know about them and Ansible's just relying on that.

But yeah, for 1 machine I'd find Ansible overkill (not a problem per se), but really helps when you have 5 Rasperry Pi Zeros scattered around the house 😉