The two main applications Lee-Ann and I run are WordPress (for hosting our web sites, both this one and my her food blog), and NextCloud for creating our own cloud storage. We do run other applications here as well, but for Lee-Ann, creating content for her food blog is one of her major hobbies/pastimes, so she doesn’t really need a lot of other applications. For me, we run or have experimented with running many different applications:
- LeanTime in an LXC container, this is project management software
- Tracks, in an LXC container. “Getting Things Done” or GTD software
- Debian 12 in VMs as our main server OS for VMs
- OpenMediaVault in a VM which is a NAS system
- TrueNAS Scale in a VM, this is also a NAS system
- Grocy in Docker container. This is a groceries management and inventory system
- Mealie in a Docker container. This is a recipe management system
- Cloudflare tunnel connectors in Docker containers, to expose my websites to the internet
- Portainer in a Docker container, to manage all my Docker containers
- Heimdall in a Docker container to serve as a application dashboard and a single place for me to go to access everything in my lab
- Uptime Kuma, in a Docker container to monitor all of my servers and service and to notify me if anything goes down
- Photoprism, in a docker container, to do photo management and AI facial recognition
- Pi Hole, in a Raspberry Pi, to do ad blocking
- Maria DB, in Docker containers and in VM, as part of the back end for other services
- Home Assistant, in a Docker container, to do home automation
- Tailscale on my router/firewall machine, and on my laptop, to provide VPN connectivity
- Watchtower in a Docker container, to automatically update all of my container images
- Ansible in a VM, to automate maintenance tasks throughout my home lab environment
- Rsync, mostly in bare metal, to backup my NAS machines
- Rclone, also mostly in bare metal, to back up to Amazon Glacier
- Syncthing, in an LXC container, to do file and folder synchronization
- Nginx, in a docker container, as a web proxy
- Monica, in a Docker container. This is a personal relationship/CRM manager
- Wireguard in a cloud instance and on bare metal, to create a VPN
- Guacamole, in a docker container, to do remote desktop access
- Redis, in a VM, to do data base caching
- phpMyAdmin, in a Docker container, to do SQL database administration
I am sure I am missing a few applications that I experimented with and never stuck with. Noticeably absent from the list are things like Emby, Plex, Radarr, Lidarr, Sonarr, etc. Not that I have anything against media players and such, but I refuse to use bitTorrent and similar programs to pirate movies/media. Call me old fashioned, I am OK with that. Its a God thing, not a legal concern (although it is illegal). I could rip all of the CDs and DVDs we already own and serve them up with Plex or Emby, but I am lazy. I can just get what I need out of my Netflix or Amazon Prime subscriptions.
One thing I switched to a while back was to run WordPress and NextCloud each in their own VMs. For me, I found the networking and data management easier. I also like the fact that I can configure Proxmox to back up these VMs every two hours plus on demand, so that it simplifies my disaster recovery and back up procedures. I also believe having each application in its own VM offers me more security and better isolation than is possible in a docker container. And since I am not resource constrained on my main server, I figured why not. It has worked out extremely well for us. But I will continue to experiment with running these apps in Docker or perhaps Kubernetes.
Anyway, Jay at Learn Linux TV has two really awesome tutorials for installing WordPress and NextCloud on a server (will work on a physical server, VM, or a cloud instance) that I will link to below. Just be careful with these as some of the commands need to be updated for the version of php that was released since he developed these videos. Also if you use Debian like I do, instead of Ubuntu, as Jay does, there are a few other minor tweaks you have to do to the install process.
Please bear in mind that especially with WordPress, there is a lot that you have to do to button down your security. We use 11 different plug-ins for WordPress. A couple of which are site builder tools and caching plug-ins, but most of which are for security or administration. I don’t want to document exactly which plug-ins I use so as to not give bad actors a leg up. But I have an web application firewall, and log-in URL changer (so that when /wp-admin gets attacked, its not actually there), a vulnerability scanner, two factor authentication, a re-Captcha tool to prevent bot attacks, a geo-IP filter to prevent people in places like Russia and North Korea from logging in, a brute force protection plug-in, etc. We get attacked every day and usually many times an hour. So bear this in mind if you want to stand up your own web site. As I said earlier, if you are not into doing all the design, build and maintenance of all of this infrastructure, you will be better off going with a managed WordPress hosting solution.
One thing that I don’t cover (yet, maybe I will in the future) are the basics of using WordPress. Honestly there are a lot of YouTube videos out there to point you in the right direction. Just bear in mind that there are a LOT of different tools to use with WordPress, such as Elementor, Beaver Builder, SeedProd, Thrive, Divi, Visual Composer, etc. Each one of these will have different instructions for use that will be different than basic WordPress with the Guttenburg editor that comes built in. Also, WordPress is under VERY active development, so make sure whatever training (I like Udemy personally) or videos you use, they have to be very current, or you will have trouble following along. Here’s an example of a decent video, which unfortunately is probably now out of date