In this blog thingy I will talk about what VPS I use, what I host on it, the distro I've installed on it, and more.
I'm using Vultr, I choose Vultr over something like Digital Ocean or other VPS's because:
a. You can supply your own custom ISO with Vultr, I installed CRUX on mine, mostly because it is very easy to create CRUX ports, also because I use it on all my other machines, consistency is always nice.
b. From the various benchmarks I've seen Vultr provides pretty much the fastest VPS's.
c. Vultr isn't too expensive, especially since their most recent upgrade; a 20gb SSD VPS with 512mb RAM for $2.50 a month.
d. Vultr has some nice features, such as servers all over the world, an option to use their DNS and firewall, a nice interface, and more.
Distro & kernel
Like I said before I'm using CRUX because I feel locked down using any other distro.
I'm using an almost generic (mostly up-to-date) kernel with KVM support compiled in. I'm currently running the
4.10 kernel with
bfq I/O scheduler patch. I didn't really make a lot of changes to the kernel besides remove some useless device drivers like the USB driver.
So the primary use of my VPS is to host this very website, I've tried pretty much every httpd before settling with Caddy. Here are some nice httpd's I tried but dropped for one reason or another:
darkhttpd - This is a very mnml httpd, I dropped it because it was too minimal for me, for example no ssl support, and I really need a website starting with
https://for that IRC cred.
lighttpd - Pretty okay httpd I think, but I hated the the config syntax, so... Yeah.
NGINX - Again a good httpd, it has some amazing rewrite/redirect options and such, but it's a real pain to install addons. I wanted to install some upload addon to make my website accept
POSTrequest, but I just couldn't get it to work.
So now I'm using Caddy, it's pretty much perfect: written in
go (which I'm learning), built in automagic ssl/let's encrypt support, a simple yet powerful config file, and easy to install addons... Oh, and it uses
I'm pretty much using my website as a filehost (using a forked version of the Caddy upload addon), and to host some stuff like my various RICE pages. I recently also started working on this blog thingy you are reading right now.
Anohter thing I'm using my VPS for is hosting a Syncthing node, Syncthing is pretty much like Dropbox, but free (as in freedom and free beer), p2p, and doesn't have NSA backdoors. Like Caddy it's also a pretty new project, and also written in
I'm really liking so far, the only downside is that it doesn't have (official) support for inotify yet, so it uses some sleep interval to sync directories. Although there is a program called syncthing-inotify which provides inotify support, and there's also a WIP inotify PR on Github, so maybe it'll land in the official syncthing tree someday.
Ok, so I didn't really like Syncthing, because it often had conflicting files or randomly deleted files. So I switched to Unison, it's pretty mnml. It's pretty much a bidirectional rsync, and it isn't a daemon (although you can make it be). Most importantly it just werks for me.
So yeah that's pretty much what I use my VPS for, for now, I still need to up the security a bit, maybe use a hardened kernel for example,
make some unprivileged user that runs Caddy (just did this, I also recompiled my entire box using the fortify source and stack protector cflags).