Running your own replacements for online services is surprisingly easy. There are many different guides out there (I like the Digital Ocean ones particularly) as well as YouTube channels, subreddits on Reddit (r/selfhosted and r/homelab are extra useful) and various tech blogs and guides.
The choices can be fairly overwhelming to a newbie though, so I figured I would post an outline of some of the services which have made my experience really worthwhile. It'll also give me a chance to play around with the markdown plugins I have installed for Atom text editor.
First up is Bitwarden. This is a self-hostable password manager with clients for Windows, Mac & Linux, as well as for web browsers and Android/iOS. This can replace browsers syncing your password data or using features like iCloud.
I found the learning curve slightly steeper than usual as it's installed as a Docker image and I had not had any experience of this prior. However, this is a great way to ensure that some of your most private data stays only on your own server.
I have found that maintainence has been completely straightforward and the utility of the clients are just phenomenal. It has been rock solid for me across all of my devices. The integration with browsers and mobile apps is flawless. It will also generate passwords for you. It's a project totally worth looking into, even if self-hosting isn't an option. I've been running this for about a year now and the girlfriend has found it really easy to use and implement too.
Things I really like:
- Supports TOTP 2FA
- Great documentation for setting up
- Integration with all my devices & browsers
- Web frontend if you want to access it that way
- Generates super-secure passwords for you
I have not felt the need to try it yet, but a lighter implementation called Bitwarden_rs is also available. As far as I know it has feature parity with the official version.
Nextcloud has become probably my most used and most loved bits of self-hosted software. It is a personal cloud and can replace the data-stealing and tracking of Google cloud services. Nextcloud can act as your own personal Dropbox with clients for Windows/MacoS/Linux and mobile, as well as a web frontend. Failing all of that it can be accessed with a webDAV client too. The extensible nature of the software gives it the reputation of bloatware to some, but I've always found it totally fast enough for my needs. The girlfriend uses it to sync her Documents folder between different machines with ease.
I also appreciate the Calendar, Contacts and Notes functions it can provide. These have allowed me to replace services like Google Calendar and more of the iCloud suite. Again the setup was a bit fiddly, but it is really well documented in the Nextcloud manual. Some might feel this approach is a bit against the UNIX philosophy, but I've found everything works really well. Perhaps with more users it might be slower, but speed has never been a huge issue on my install.
It was a bit of a pain getting Nextcloud setup to play nice with my Apache reverse proxy, but it's now happily running in an LXD container behind the web server front end. Again, documentation is all out there and clearly written with examples.
Things I really like:
- Fantastic drop-in replacement for Dropbox/Google Drive (once you get it set up…)
- Extensible so syncing Calendars/Contacts/Notes makes this a comprehensive personal cloud
- Clients for iOS/Android work well
- Works behind a reverse proxy so can play nice on the same network as other hosted services
- Time-limited, password protected public sharing is possible if you have friends…
I've never tried OwnCloud, and the general consensus seems to be that Nextcloud has surpassed it. Other alternatives like Syncthing and Seafile look pretty good, but I've found Nextcloud more than adequate. It's not the easiest software to get up and working, as well as to upgrade & maintain (I've had a few issues upgrading in the past), but I think there are now Docker images available to make this easier.
I suspect that Plex is becoming somewhat love/hate for people in recent years. While originally a Kodi fork, the modern Plex Server now blows Kodi out of the water in many ways. At its core it is software to stream all of your TV, Films and Music to almost any device, anywhere in the world. If you have a server powerful enough, Plex is able to transcode the media to suit that device you are watching on, or if the bandwith you have available is less than you would like.
If you run the server it's worth considering buying a life-time pass just because it allows your users to download content for offline viewing or listening.
Where Plex seems to be dropping the ball in recent years is the creep of various unwanted services, not least the music service Tidal. Thankfully there are options in the menus of the clients to hide this, but I hope it is not expanded too much in the future. Plex is a Netflix replacement, and if you have a large digital media collection it does an outstanding job.
Things I really like:
- Transcoding of media to (almost) any device
- Auto-grabbing of media artwork/subtitiles/information e.t.c. can make Plex look GREAT!
- Ability to play a wide array of file formats
- The feeling of watching your Movies/TV anywhere in the world with an internet connection
Plex has potential competition in the future from the likes of open-source Jellyfin, which itself was a fork of Emby. Without wishing to knock these bits of software, for me Plex is the undisputed king.
These three are just the beginning in many ways. There are so many amazing bits of software out there that can replace the data-collecting offerings from companies like Google. I'm sure I'll write about more I use in the future!