The Real Fun Begins! Self-Hosted Apps in CasaOS

The Real Fun Begins! Self-Hosted Apps in CasaOS

Installing and Configuring are Not the Same Thing

Two months ago when I first installed CasaOS on the Lenovo ThinkStation, I quickly installed several apps that I was eager to test out as if they were iPhone apps that you just click install and immediately start using. There are likely exceptions, but that’s not how this works. Installing an app in CasaOS is quite simple, but that’s just part of the equation. The configuration of the installed app can be way more involved. One wrong move could overwrite a directory containing precious data that I’ve spent years accumulating. Each app requires overcoming a learning curve which can usually be done by watching a YouTube video. (Darn you for being helpful, Google!)

I’ve had to restart this project a couple of times due to the hardware issues which only got resolved in the last couple of weeks. With those issues in the rearview, it was time to refocus on the next phase of this project in which to invest energy. Instead of being a kid set loose in candy shop and adding everything to my basket, I opted to slow down and refocus.

Revisiting Priorities and Reporting on Progress

Why did I start this project in the first place? My growing concern over data privacy and digital sovereignty was the biggest factor. The number one desired outcome was to set up Nextcloud as a self-hosted replacement for Google Workspace so I could have the convenience of cloud storage and document creation, but without the prying eyes of Big Tech. The pursuit of self-hosting Nextcloud led to a related priority of creating file storage redundancy. Part of the convenience that Google and other tech companies offer is that you don’t have to worry about a single point of failure causing you to lose your files forever. So I set out to create a Network Attached Storage (NAS) system with at least two drives for backups.

Time for Show and Tell

As of the last post, I have working solutions for both of these requirements. I have terabytes of file storage capacity in place, Nextcloud is configured and working, and system backups and cross-device file syncing are in place. I’ve also made strides in other ways that I’ll describe app by app in this post.

Self-hosted Apps I’ve Configured to Date

  • Files – native file management app in CasaOS
  • Nextcloud – Google Workspace replacement 
  • Joplin Server – synchronization service for Joplin notes across devices
  • Immich – Google Photos or Apple iCloud replacement
  • Ollama + Open WebUI – locally hosted AI tool like ChatGPT 
  • Timeshift – automated system backups
  • Syncthing – automated folder-specific peer-to-peer sync across devices
  • Tailscale – creates secure remote access to home server

Below I’ll provide summaries of each application.

Files – File Manager

The Files app comes preinstalled with CasaOS. It provides a familiar interface not too different from Google Drive, Finder in MacOS, or Windows Explorer. You can access all the directories and files within your host computer, share files across the network, and access additional drives whether they are internal or external drives connected to the host computer. 

File Manager app in CasaOS

You can see above that the internal hard drives (creatively named 4TB and 3TB) are accessible from the Files app. The Documents folder above, as well as Downloads, Gallery, and Media, reside on the Operating System hard drive which is a 512GB SSD. That is quite a bit of room, but I don’t plan on using those default folders since I have much bigger backup drives available.

I recently went through each of our computers and several external hard drives that I’ve collected over the years and combined and organized everything on one 2TB SSD in my Mac Mini. For the initial backup to the new ThinkStation CasaOS server, I uploaded just my Documents folder from that 2TB to the 4TB drive on the CasaOS server. The uploads went faster than expected and routine file uploads or transfer are nearly instantaneous. This nearly 27GB of data in /Documents now has at least one backup. Huzzah!

File Manager app in CasaOS

Nextcloud – Google Workplace Replacement

Nextcloud is a fully open-source, self-hosted content collaboration platform. Its features are similar to Google Workplace, most importantly file storage and collaborative document/spreadsheet/presentation/etc creation. It offers a host of other functionality that aren’t important to me now such as calls, chat, video conferencing, webmail, and much much more.

My Nextcloud Dashboard

nextcloud 1

Nextcloud Spreadsheet Example

A spreadsheet file being edited in Nextcloud

File Creation in Nextcloud

File creation options in Nextcloud

File Creation in Nextcloud

File creation in Nextcloud - pick a document template page

Document Creation in Nextcloud

Document creation in Nextcloud

Photos Storage in Nextcloud

Photos Storage in Nextcloud

Nextcloud offers all the features of Google Workspace that are important to me. I’m in the process of auditing and removing files from Google’s cloud and migrating my files to either my CasaOS backup drives or Nextcloud, depending on the use case.

Joplin Server – Synchronization for Joplin Notes

Joplin is my preferred notes app because it is open-source and has cross-platform compatibility. I recently migrated all of my Apple Notes to Joplin.

Before last weekend, I was using Dropbox as the synchronization server as a temporary solution to keep notes synced across devices. Last weekend I changed the synchronization to use the Joplin Server app on my CasaOS. Now Big Tech has no ties to my notes library!  

My Joplin Notes Interface

joplin notes

Joplin Server

Joplin Server welcome message

Immich – Photo and Video Management

This app excites me the most! After the priorities mentioned at the top of this post, the next closest one would be photo backups. I’ve never been an iCloud backup person. At one time years ago, I used Google Photos. But for the last many years I’ve relied on just a bunch of drives.

Enter Immich. This is nearly identical to Google Photos, only way better. Data privacy and control? Of course! But Immich also supports large video files without the storage limitations imposed by cloud services. This allows me to store and manage both photos and videos without worrying about filling up a Google Drive or iCloud account.

The iPhone app syncs my photos with my server everytime I’m on my home network. This week I easily backed up loads of photos and videos to my home “cloud” and then deleted them from my phone. Way easier than fiddling with the cursed Photos application on my Mac.

Immich on the iPhone

immich iphone

Immich on the Desktop

Immich photo gallery management on the desktop

Look! Nearly 600GB of photo history uploaded and backed up! It’s so great to have all my memories in one accessible place instead of hidden in a myriad of folders and subfolders that were horribly named years ago. I’ve been sending friends and family members old pics I’ve come across to spark the joy of good times had years ago. I’m seriously so geeked about having Immich set up and all my photos in one accessible gallery!

Ollama + Open WebUI – Run AI Locally

Ollama is an open-source tool designed to run large language models (LLMs) directly on a local machine. Want to have the power of ChatGPT at your fingertips without feeding the Big Tech monster? Ollama is the answer. It allows you to run AI (not A1) locally on your computer, away from prying eyes that watch your every digital move. 

This application is not actually on my ThinkStation CasaOS instance. Rather, it’s on my Mac Mini being run in a Docker container (which is basically what CasaOS is doing behind the scenes). I haven’t moved this to the ThinkStation yet since my Mac Mini has a faster processor which is better for running LLMs.

This is the blog post that got me up and running in a matter of a few minutes! Run Phi-3 locally on a Macbook 

Open WebUI running llama3.1 locally and answering questions

Timeshift – System Backups for Linux

The Lenovo ThinkStation is the backbone of my entire homelab setup. It’s running a Linux operating system called Pop!_OS. I configured a desktop application called Timeshift for Linux to create automatic system backups saved on the 4TB internal drive rather than the 512GB operating system drive. If the ThinkStation crashes, I now have “snapshots” from which I can restore my server.

Timeshift system backup schedule dashboard
Timeshift system backup snapshots dashboard

Syncthing – Peer-to-peer File Synchronization

Syncthing is a free and open-source peer-to-peer file synchronization application that can sync files between devices on a local network or between remote devices over the Internet. It’s cross-platform and secure. Setting it up is simpler, more or less. It took me a couple of attempts to get it quite right. Once configured, you can almost ignore it.

I have it installed on my Mac Mini, ThinkStation, MacBook Air, and most recently on an Asahi Linux instance running on the same MacBook Air (future post coming on that!). It’s syncing my Documents and Pictures folders, and eventually I’m going to have it sync the Videos folder. 

Syncthing - Peer-to-peer File Synchronization

Tailscale – Software-defined Mesh Virtual Private Network (VPN)

At first, I forgot why I installed this application. Some of my go-to YouTubers recommended it for something related to homelabs.

After a little tinkering, I was reminded that Tailscale provides a way to access one’s home network remotely when I’m away from home! This means my CasaOS dashboard, Nextcloud, Immich, et al are all available to me from anywhere. And still kept safe and secure from the broader world wide web.

Tailscale creates a… You know what? I’d butcher the technical jargon needed to describe it. Just read this: https://tailscale.com/kb/1151/what-is-tailscale 

Tailscale dashboard - Software-defined Mesh Virtual Private Network (VPN)

The Fun Phase is Here!

This homelab journey has entered the “doing things with self-hosted apps” phase!

  • I’m using Linux way more often now with my modded out Lenovo ThinkStation.
  • Commands in the Terminal are becoming more familiar.
  • CasaOS is running smoothly.
  • Self-hosted applications are configured and providing file redundancy, data privacy, cloud document creation, and photo and video management.

Next Steps

Baby steps. Rob, just pick one app and focus on that. Got it!  

  • Calibre – ebooks management 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top