this post was submitted on 26 Sep 2026
106 points (95.7% liked)

Selfhosted

62398 readers
500 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.

(page 2) 36 comments
sorted by: hot top controversial new old
[–] anzo@programming.dev 3 points 3 days ago

set the server as git remote and push there directly. set hooks to deploy. I do that for a static site. Is my little iac solution. Search for alternatives to "infrastructure as code". It can go from simple dockerfile to swarms or kubernetes..

[–] Egonallanon@feddit.uk 3 points 3 days ago

Ansible and terraform can bath do with you want though for a single server I'd consider them both to be a somewhat overkill. But then again homelabbing often is about overkill.

[–] 9point6@lemmy.world 3 points 3 days ago

Depends what you're trying to do, really

If you're talking about going in and restarting containers and checking logs, there are tools like Portainer that give a nice UI you can quickly use from your phone

If you're talking about repetitive tasks, sometimes there's a tool to automate it already (e.g. updates via watchtower, unattended-upgrades), and if not, you can write a script and possibly run it via a cronjob if that makes sense

If you're talking about doing new stuff, you either stick with the SSH & shell commands, or you look into IaC tools like ansible as another reply mentioned. Another option is something like Nix where the setup is defined in config, so you make your changes there

[–] sum_yung_gai@programming.dev 2 points 3 days ago

Ansible to deploy services in docker compose stacks and backups with resticprofile.

[–] HelloRoot@lemy.lol 2 points 3 days ago* (last edited 3 days ago)

with dokplpy as a server docker managementweb gui.

for the code push workflow:

  • keep your normal git workflow, commit & push
  • set up a git hook in git & dokploy that rebuilds from source on every push
  • or do it on a schedule and build once a day or whatever

If you're project has an unusual way to build, you could also do a git action that pushes a docker image out somewhere, depending on yoyr git provider.

There are probably infinitely many ways to autodeploy something.

If you need a step bt step breakdown, I can give you a guide based on my personal website, but that might not apply to your project.

There are probably multiple flashy clients and gui's for it, but if you're already used to the terminal, I'd recommend rsync. This might be the wrong syntax but something like rsync -av ~/local/project servername:/var/www/html/ would take your local files and update the web directory of your server with only the files that are more recent. Rsync will even read your ssh config file so if you're got an entry for your server you can just use the host name.

I ran a little blog for a while using a static site generator so I setup the git server on my web server and wrote a git hook where every time I pushed to the repo the server would pull it's cloned copy of the repo into the html directory. Took me a few hours to setup but it made updating the blog as simple as pushing to the repo.

[–] Kirk@startrek.website 1 points 3 days ago

Everything is in docker or a virtual machine that starts on boot. Docker containers are managed with Dockhand's web ui. Once a month I ssh and "sudo apt upgrade" but that's it.

I tried to use olivetin to avoid having to ssh but I ran into errors I haven't had time to investigate yet.

[–] MuttMutt@lemmy.world 1 points 3 days ago

Which one? Lol.

TrueNAS is mostly via the webgui but I use SSH when needed.

I have two Ubuntu 26.04LTS VM's running on TrueNAS. One is going to be my web host the other is for FrigateNVR and local AI processing. They are both managed via SSH. The web host has a FIDO2 ssh key for access, the other is a standard key and is not web accessible. Both can be accessed via remote desktop when at home.

Docker containers are managed via DockHand. I have about 50 containers running across the above hosts right now.

HomeAssistant is managed via the webgui and SSH when needed. It runs on its own hardware (Odroid N2+)

My traveling local host/ap/dhcp server is primarily managed over USB via SSH. Files are managed via SFTP.

[–] antlion@lemmy.dbzer0.com 1 points 3 days ago

Proxmox web UI to manage my six containers. Sometimes I use sftp (ssh) to modify files in a desktop editor instead of nano over a web interface. Recently I broke things and had to go down to the basement with a keyboard and monitor to rollback my Omada container. I kinda want to make that part easier but it’s so infrequent it’s probably not worth it.

[–] SpatchyIsOnline@lemmy.world 1 points 3 days ago

Around 50-50 between SSH and Portainer (although I've been meaning to migrate from Portainer to Arcane so I can have my compose files in git)

[–] Decronym@lemmy.decronym.xyz 1 points 3 days ago* (last edited 15 hours ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
Git Popular version control system, primarily for code
ISP Internet Service Provider
LVM (Linux) Logical Volume Manager for filesystem mapping
NAS Network-Attached Storage
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
Plex Brand of media server package
RAID Redundant Array of Independent Disks for mass storage
SFTP Secure File Transfer Protocol for encrypted file transfer, over SSH
SMTP Simple Mail Transfer Protocol
SSH Secure Shell for remote terminal access
VPS Virtual Private Server (opposed to shared hosting)
ZFS Solaris/Linux filesystem focusing on data integrity
k8s Kubernetes container management package

14 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #113 for this comm, first seen 26th Sep 2026, 12:40] [FAQ] [Full list] [Contact] [Source code]

[–] jello@programming.dev 1 points 3 days ago

To manage containers I use Arcane, which I can access from anywhere. Let's me create, update, delete, basically anything Podman can do.

For other stuff I still just SSH. I have up set up that I can do it remotely (with an extra security step), but I don't need to do it very often.

Worth noting that some security stuff is automated, eg non-breaking updates on the OS and log monitoring.

[–] dimjim@sh.itjust.works 1 points 3 days ago

It depends on what I’m doing I suppose. I run my main VM on Proxmox, so I mainly use its web interface for any VM work. For all the containers within, I’ve been really loving Dockhand lately, it’s just as easy to use as Portainer, it even checks for updates for me AND gives me a link for the release notes so I can decide whether to upgrade or not.

Most other things like file transfers or editing my Caddyfile I do through SSH. Can’t beat simplicity sometimes!

[–] Arda@piefed.social 1 points 3 days ago

SSH but i mostly do everything over dockhand which is a webuj for docker

[–] savvywolf@pawb.social 1 points 3 days ago

I connect to my server using ssh and use tmux as a persistent session. Configuration wise, I use NixOS and edit the config files directly on the server via emacs.

[–] myyass@lemmy.world -2 points 3 days ago

Usually I put handcuffs on her every night, to keep her off of me, and only feed her the highest grade sushi and meat. It keeps her hair shiny, keeps good health, and complaints down to a minimum. I make sure she gets adequate sleep on an expensive mattress while I sleep on a 2 inch futon on the floor.

Oh wait... wrong kind of server.

[–] makeshift0546@lemmy.today -3 points 3 days ago* (last edited 3 days ago) (11 children)

Hermes + maybe $5-10 worth of tokens if I need more compute than ollama can provide (on a busy month). Running everything in a nice podlet setup and have reduced maintenance down to trivial levels. Config gets occasionally shipped to GitHub

In theory I might lose the ui if it bricked itself but in reality that doesn’t happen.

load more comments (11 replies)
load more comments
view more: ‹ prev next ›