Categories
Deployment Docker

New server setup for 2019

First post of 2019, it’s time to dive into what and how I have my server configured. Well technically it was configured in 2018, but it took awhile to type this out.

There are 3 main services that I want to run, however in total I’m running a total of 6 docker instances on my DigitalOcean server.

It was rather smooth sailing, apart from the disaster that broke out right before I wanted to migrate this WordPress blog. Most of the Docker images that I’ve used came from linuxserver.io, they provide really good and clean images that have been used by millions of people. (I’m just too lazy to build my own images)

Services

  • WordPress: WordPress + MariaDB
  • Torrent: Transmission + Flexget
  • Portfolio: Nginx
  • Miscellaneous: Nginx Reverse-proxy

These services are the same as what I was running on my local server, just fully migrated to the cloud. Just as I finished migrating it, my local server’s fan started failing, refusing to spin at times for no apparent reasons. Fully dismantled it to remove all the dust bunnies but it was still rather wonky. I guess the timing of migration couldn’t be any more perfect. (No pictures from cleaning cause I forgot)

One interesting thing you might’ve noticed is that my torrents are now on a cloud server, it would be rather tedious to be downloading the files on-demand, and streaming it would require me to run another service because mounting the drive as SSHFS isn’t ideal.

The solution I went with was to use my old trusty NAS (that I really should replace soon). Thankfully I still remember my SSH password and setup credentials for access to my cloud instance. Then I setup a simple cronjob to run a rsync command on the downloads folder every 15 mins. This checks for new files on my server, synchronizes with the NAS, then remove the files on the server. This ensures that my server’s limited storage space won’t overflow.

Torrent diagram

In terms of security, it’s secured with Basic Authentication over SSL, so… fairly sufficient for my use case.

Next, Flexget apparently has an experimental web-ui that I’ve enabled. This is amazing because it allows me to update my shows without messing with the config file and causing a whole bunch of white spacing issues. In addition, there’s a nice interface to show a history of the files downloaded.

flexget web-ui

I used this docker image: cpoppema/docker-flexget, because it updates itself to the latest version of flexget every time it’s restarted, this saves me time and effort from migration and all the tedious details.

Moving on to the costs.

Leave a Reply