My Favorite Self-Hosted Applications
January 1, 2020 by Steven Ng (Updated November 23, 2021)
Introduction
In addition to a bunch of self-hosted applications, I use many Windows applications to stay productive as well.
Applications
- Duplicati - I use this to back up my Linux boxes.
Docker Containers
The lists are in this format:
- Application Name (image name)
Network Admin
- Portainer (portainer/portainer) - I use this to manage containers on a Docker server
- Guacamole (guacamole/guacamole & guacamole/guacd) - Gives you a central web access point for RDP, VNC and SSH connections
Web Server
- Nginx (nginx:alpine) - I use Nginx as a reverse proxy to most of my containers. I may at some point switch to Traefik or something else, but haven't because of inertia.
Directory Server
- OpenLDAP (osixia/openldap:1.2.5) - Good for creating a test LDAP instance for testing
Database Servers
- Postgresql (postgres) - My favorite relational DB.
- SQL Server (microsoft/mssql-server-linux:2017-latest) - Microsoft SQL Server 2017
- DB2 (ibmcom/db2) - Possibly the easiest and most painless way to install an instance of DB2
- Mysql (mysql) - I don't really use this, but handy for development.
- MongoDB (mongodb) - For web scale data storage /s
- CouchDB (apache/couchdb:latest) - A document store. a.k.a. Cloudant
Applications
- Wallabag (
wallabag/wallabag
) - Wallabag is like Pocket. I use it to collect articles for reference or to read later. - PGAdmin4 (
pgadmin4
) - Administration tool for Postgresql. - OpenHAB (
openhab/openhab
) - Smart Home controller. I was not a fan of Home Assistant. While I'm not a fan of the user interface, OpenHAB has a REST API, so you can roll your own. - VSCode (
ghcr.io/linuxserver/code-server
) - Having a full-fledged IDE via browser to edit files on a server is fantastic. Having said that, you probably don't want to install this on a public server for security reasons.
Tried, But Didn't Make The Cut
Some noteworthy containers I tried but they just weren't for me in one shape or form.
- Wiki.js - This one shows a lot of promise. It's just not ready for prime time for me. I'll probably give this another shot in the future. I would still choose WikiJS in its current state over Bookstack though.
- Pihole (pihole/pihole:latest) - I used PiHole for local DNS and to block ad and tracking domains for a while, but most of the lists block off more than I want, and I ended up using the blocking in my firewall instead.
- Gitlab (gitlab/gitlab-ce:latest) - I use this to host private Git repositories locally. Think of it as a host-your-own Github/Gitlab. Once Github changed their free plan, I basically dropped Gitlab.
- Gogs - Another self-hosted Git server. I personally found Gitlab to have more complete functionality combined with a nicer UI.
- Bookstack - A documentation/wiki type of app. I tried this twice based on its popularity on /r/selfhosted, and it just wasn't for me.
- Verdaccio - A self hosted private NPM registry. Once I found out that Github was providing a free private NPM registry, it had no use for me.
- Home Assistant - A smart home application. I did not like this at all and ended up switching to OpenHAB.
- Huginn - It's like a host-your-own IFTTT. Not my cup of tea.
- Jenkins - Continuous Integration server. It's not for me. Given how I'm so Github focused, I think I'd rather use Github Actions.