Bristlerock

joined 1 year ago
[–] Bristlerock@kbin.social 2 points 7 months ago

This is how I do it. It works internally and externally, though it's more than OP needs. :)

To add to what's been said (in case it's useful to others), it's worth looking at SWAG and Authelia to do the proxying for services visible to the Internet. I run them in a Docker container and it does all the proxying, takes care of the SSL certificate and auto-renews it, and adds MFA to the services you run that support it (all browsing, MFA-aware apps, etc).

Another thing I like about SWAG's setup is that you select which services/hostnames you want to expose, name them in the SUBDOMAINS environment variable in Docker (easy to remove one if you take a service down, for maintenance, etc), and then each has its own config file in Nginx's proxy-confs directory that does the https://name.domain -> http://IP:port redirection for that service (e.g. wordpress.subdomain.conf), assuming the traffic has met whatever MFA and geo-whitelisting stuff you have set up.

I also have Cloudflare protecting the traffic (proxying the domain's A record and the wildcard CNAME) to my public address, which adds another layer.

[–] Bristlerock@kbin.social 1 points 1 year ago (1 children)

Yeah, it make for a nice workflow, doesn't it. It doesn't give you the "fully automated" achievement, but it's not much of a chore. :)

Have you considered something like borgbackup? It does good deduplication, so you won't have umpteen copies of unchanged files.

I use it mostly for my daily driver laptop to backup to my NAS, and the Gitlab CE container running on the NAS acts as the equivalent for its local Git repos, which are then straightforward to copy elsewhere. Though haven't got it scripting anything like bouncing containers or DB dumps.

[–] Bristlerock@kbin.social 2 points 1 year ago

Agreed. The lack of varied examples in documentation is my common tripping point. When I hate myself, I use visit ~~Sarcasm~~StackOverflow to find examples, and then reference those against the module's documentation.

And it's definitely become an easier process as I've read more documentation.

[–] Bristlerock@kbin.social 1 points 1 year ago* (last edited 1 year ago)

Do you have a NAS? It can be a good way to get decent functionality without extra hardware, especially if you're doing proof of concept or temporary stuff.

My self-hosting Docker setup is split between 12 permanent stacks on a Synology DS920+ NAS (with upgraded RAM) and 4 on a Raspberry Pi 4B, using Portainer and its agent on the Pi to manage them. The NAS is also using Synology's Drive (like Dropbox or GDrive) and Photos (like Google Photos).

I've had the NAS running servers for Valheim and VRising in the past, but they require that fewer containers be running, as game servers running on Linux usually have no optimisation and/or are emulating Windows.

If I decide to host a game server again, I'll probably look at a NUC. I've done the DIY mini-ITX route in the past (for an XBMC-based media centre with HDMI output) and it was great, so that's another option.

[–] Bristlerock@kbin.social 2 points 1 year ago (3 children)

This is what I do. I find keeping 20-odd docker-compose files (almost always static content) backed up to be straightforward.

Each is configured to bring up/down the whole stack in the right order, so any Watchtower-triggered update is seamless. My Gotify container sends me an update every time one changes. I use Portainer to manage them across two devices, but that's just about convenience.

I disable Watchtower for twitchy containers, and handle them manually. For the rest, the only issue I've seen is if there's a major change in how the container/stack is built (a change in database, etc), but that's happened twice and I've been able to recover.

[–] Bristlerock@kbin.social 4 points 1 year ago

I used Linuxserver's Docker container of Dokuwiki when I migrated my notes from Evernote a few years ago. It was easy to setup and configure, has a number of plugins that further improve it, and it did the job really well.

I ended up migrating it all to Obsidian this year, as it serves my needs better, but otherwise I'd still be using Dokuwiki.

[–] Bristlerock@kbin.social 6 points 1 year ago

I migrated away from Evernote a few years ago, where I kept my "paperless life" (PDFs of receipts, bills, etc) and general notes (work, study, etc). Opting to self-host most of the things I can, I moved the notes to Dokuwiki and the rest to what is now Paperless-ngx.

This year I realised that Obsidian suits my needs better than a wiki, so migrated the notes to that. If it's just for your stuff, I'd recommend the same. (Though if you collaborate with anyone, I've heard Notion is a better option specifically for that.) Obsidian has a lot of extensibility, which will steepen the learning curve, but it's worth it.

I sync Obsidian's Vault using my Synology NAS's "Drive" client, and Obsidian works perfectly with Windows, Mac, Linux, and Android. The only shortcoming is iOS (because iOS), though I believe you can work around it using Obsidian Sync or at least one other tool I've seen mentioned. It might also be possible via the Obsidian Git extension, but I've not tried it with iOS and requires (from a self-hosting perspective) that you have a local Git server (for example).

[–] Bristlerock@kbin.social 1 points 1 year ago

It's a good question. A vault is only as strong as the credentials required to access it.

Bitwarden does have MFA support, though. If you're using it without that enabled, you're asking for trouble.