Wow, I asked the right person. Thanks for the info!
Wow, I asked the right person. Thanks for the info!
I’m getting a bit concerned with logseq. It’s just kind of backwards to have a web app packaged as a desktop/android app that can be hosted on a server, but you can’t store your files there. I get that they want to monetize sync, but they’re kind of bending over backwards here to not have what’s inherently a pretty reasonable feature in a web based app, and it makes me concerned about what they’re going to do with the project in the future.
Is there a way to embed portions of one page into another page, such that if you edit it on either the change shows up on both, like in logseq?
The documentation is actually pretty good, but i’ve not been able to find that feature, if it exists. That’s probably the last thing keeping me on logseq.
Everyone else is telling you to stay local, which is great advice, as far as it goes. But you said you want to host your website publicly available, so i’d recommend getting a cheap vps and starting there. It’s not on your network, so if you screw up with security, worst case is you start again from scratch. I’d recommend the cheapest virmach VM you can get, with Debian or Ubuntu, if you like snaps.
First things first, set up ssh with key based logins, with a passphrase on a non standard port (doesn’t provide security, but it will keep your logs from getting innundated immediately). Install UFW, and block all incoming traffic, allow all outgoing traffic, and limit traffic to your ssh port. Install docker and add your user to the docker group. Start learning how to use docker, compose, and as your first container, set up duplicati to back up your docker directory (including all your volumes, which I would store as folders inside your docker directory) somewhere else. I’d set it up to run every evening after you go to bed, and i’d also set a cron script to bring down all your containers before you back up, then bring them back up. Just in case.
I’ve previously had a problem with my server becoming unresponsive when running immich. It’s been a while, but I remember there being some kind of memory leak having to do with immich. It was in their GitHub issues and everything. On my system it would take about a day and a half and then ssh, along with everything else, would become unresponsive. Rebooting would fix it for a day and a half. I stopped running immich and it hasn’t happened since. I suppose you could try using a cron job to restart immich periodically and see if that resolves your problem.
I’ve read that best practice is to do a database dump, in addition to backing up all the data files. It’s my understanding that there’s a slight chance of corrupting something in the database if you don’t stop the service first, since something could be changed while you’re doing your backup.
The easiest solution for me, as well as for being able to just restore my files and start the service again somewhere else, is to stop, backup, and restart. It’s down for less than 5 minutes while i’m asleep. If I expected better uptime than that I wouldn’t be trying to self host.
FYI, if you run vaultwarden using docker compose with your data volume as a folder, all you have to do is bring it down for like 1minute, make a backup of the folders, and bring it back up. I use a cron script to do this nightly. When my vps host went out of business, I restored my docker folder to a new vps and was up and running again in a couple minutes. Also, you could easily restore it to a virtual machine, if you like. Docker with compose is extremely portable.
That’s pretty neat. I might start doing that, just for kicks.
Now that’s the kind of paranoid I was hoping to see in here. High five, pal.
Can you explain why you use onion repos? I’ve never heard of that, and I’ve heard of kind of a lot of things.
If you have the option to host physical hardware from your friend’s house, I’d go that route for the whole thing. Set it up so they can access your media server locally, maybe even immich, and VPN in for everything yourself, that way you don’t have to expose ports, except the wireguard port. Don’t acquire new content from their network unless you do it behind a good VPN with a killswitch and they know and are OK with what you’re doing.
I would personally rather have my documents, photos and media collection on a computer a friend has physical custody of than in the cloud, but that’s on you and your friend. I prefer to host vaultwarden and a notification server, in my case, gotify, on the cheapest vps I could find, which was about 12 bucks a year last I checked.
I’d also set up a tor hidden service for ssh, just so you have another way in, in case something comes up. Or you could get a cheap cellular modem and a yearly Sim card. In the US, red pocket is a good choice, with a limited option available for less than 50 bucks a year. You never know when their ISP is going to do something weird, and you’ll be able to figure it out a lot easier if you have a reliable way into your server.
You should probably think about backups too. You can obviously do a backup before you go, but you’re going to want to back up at least your new photos while you’re gone. I’d suggest looking at koofr lifetime storage plans, as they’re pretty cheap for the size.
That’s basically the same as my writeup from when I did it. Except I also had a -k all on update-initramfs. Not sure about the switches, so I’ll look into them. Thanks.
I was a bit surprised at it as well, but it doesn’t for me running Debian headless. If I reboot after a kernel update it’ll try to boot into the new kernel and fail waiting for the initramfs, but it’ll boot just fine into the previous kernel. Once I update the initramfs it works fine.
If you know what resources you used to set it up, I’d be curious to take a look and see if I missed something.
Encrypt the boot drive, and use dropbear ssh in initramfs to be able to unlock it over ssh during boot. Then set up your data drives however you want, and use a key file on your boot drive to unlock them, once you’ve unlocked it. All drives are encrypted when your machine is off, and you only need one password you can enter remotely to unlock the whole thing.
Here’s a good resource on how to do the initramfs part https://www.arminpech.de/2019/12/23/debian-unlock-luks-root-partition-remotely-by-ssh-using-dropbear/
Also, when you update the kernel you have to rebuild the initramfs with sudo update-initramfs -k all -u, or it won’t be able to boot to the new kernel.
I’ve found it to be a super reliable setup.
I’m not sure how it will work, but if you’re worried, just move the download folder before you remove it from within the application. Better yet, if you have the space, just copy the folder somewhere else.
Hopefully someone else has a better answer for you.
This is one of the reasons docker is so great. If you were running the application in docker, you would have mounted that folder as a volume, so if you wanted to move it you’d just stop the container, move the folder, edit your compose file to point to the new location, restart, and from the application’s point of view nothing will have changed.
Switching to porkbun would make things a lot easier for you. DNS challenge is why I switched from Namecheap, and it’s less expensive and considerably easier to administrate.
You’d be looking at used mini PCs. I’ve heard really good things about lenovo. It’s not necessarily exactly comparable in price, but the reason people are souring on arm SBCs, and especially PiS, is that it’s only a little more for a more powerful lenovo, and there are never any supply issues.
People are shitting on them because the price point for arm sbcs has risen, while the price point for small x86 computers has come down. Also, x86 availability is high and arm sbc availability has become unreliable. They also aren’t generally supported nearly as well. If you don’t need more power and you already have them on hand there’s no reason not to use them.
A, great. Overly complicated. B, wireguard lets you set your allowed IPS to your networks’s subnet so you only tunnel that traffic. C, that’s ideal. Use nginx proxy manager. It’s super simple. Buy a domain and you can use letsencrypt for SSL so you don’t get http nag messages from your browser. Old suggest something with cheap renewals like ‘.rodeo’ or ‘.top’. D, there are many right ways. Personally, i’d set up your services in a docker compose file, all behind gluetun as a VPN for your torrent service. I’d set up a wireguard VPN on a pi zero elsewhere on your network so you can access everything from outside, and on your wireguard clients i’d only tunnel the traffic to your network’s subnet. Unless you want everything behind the same VPN you use for torrenting. In that case i’d run a wireguard service in the same docker network as gluetun, so you can tunnel all your client traffic through that. You could even out a dns server in there as well, and manually set a domain name to your server’s ip so you don’t have to buy a domain name. Course, then you can’t use letsenceypt SSL.
I should probably figure out discord one of these days. Thanks for letting me know that’s where to go for this project.