Dockge allows you to start/stop containers and edit your compose files from a handy ui.
Pros: if something goes wrong while you’re away, it would give you a tool to restart a service or make some changes if necessary.
Cons: exposing that much control to the outside world (even behind a log in) can potentially be catastrophic for your stack if someone gets in.
This is pretty much my situation. “Away from home” for me isn’t just a trip to the shops, it means being away for weeks at a time. I need to be able to fix things remotely if needed.
I’ve seen people recommend SSH, which seems worse because that would give potential hackers access to the whole system.
VPN is a very good suggestion, and what I’ve implemented now. Thank you to everyone who contributed
One thing to consider, as well, is that SSH is extremely well reviewed, audited, and battle tested.
If you get “hacked” via SSH, it’s almost certainly because you had a bad password (don’t use passwords!), and not due to an exploitable bug in SSH.
Some random Docker management tool? Eh, I wouldn’t wager any money on you getting hacked, either through missing a configuration step, or a permission being too lose, or a flat out stupid decision made somewhere in the code that’s exploitable.
SSH + lazydocker is a reasonable choice if you want to go the SSH route and is my ‘oh shit, portainer-via-vpn is fucked’ backup.
No - ssh is very easy to secure, while an exposed web-service is very hard to secure. Theres no difference in the security of ssh without password and for example WireGuard.
I do ssh because I’m more comfortable with it: it’s ubiquitous and as close to bulletproof as any security. Put it on a nonstandard port, restrict authentication to public keys, and I have no qualms.
Stick to strong keys and keep it on 22 for ease of use
I just don’t like my logs filling up with scripted login attempts. Even with fail2ban, for a while there I was getting 100+ login attempts every day, and it upset my sense of order.