Homeio
⌘KDocker app store

A Docker app store for your home server

Install self-hosted apps in a click, from the CasaOS catalogue or any CasaOS-style store, or paste your own Compose file. Then read the logs, change the settings, update and uninstall from the same window. Every app stays an ordinary Docker Compose stack.

Updated

Homeio
Homeio Docker app store with self-hosted apps

What a Docker app store actually does

A self-hosted app store is a catalogue of Docker Compose templates with a button in front of them. Each entry says which image to run, which ports and folders it needs, and which settings you should fill in. When you click install, the store writes a Compose file, pulls the images and starts the containers, the same as running docker compose up -d yourself.

That is worth knowing for two reasons. First, the app you get is an ordinary container, not something special to the store. Second, the quality of a store is mostly about what happens around that one command: where your data ends up, how updates work, whether you can read and change what it installed, and what you do when the app you want is not listed.

The app stores home servers use

Most home server platforms ship their own store, and most stores only work on their own platform:

Self-hosted Docker app stores compared by platform, size and custom app support
StoreUsed byCatalogueApps it does not list
CasaOS App StoreCasaOS, HomeioAbout 180 apps, plus community stores in the same formatImport a Compose file or docker run command
Umbrel App StoreumbrelOS onlyOver 300 apps, plus community storesCommunity stores in Umbrel's format
Community ApplicationsUnraid onlyA large set of community-maintained templatesAdd a container by hand in the Docker tab
TrueNAS AppsTrueNAS onlyOfficial and community appsPaste your own Compose YAML
Runtipi App StoreRuntipiA few hundred apps, plus stores from Git repositoriesYour own app definitions
Portainer templatesPortainerA short template list you can replace with your ownStacks from Compose files

If you are still choosing a platform, the store is one factor among several. Our home server OS comparison covers the rest, and CasaOS vs Umbrel compares the two most popular stores directly.

What to look for in an app store

  • You can read what it installs. The Compose file should be visible and editable, before and after install. If it is not, you cannot fix a wrong port or add a volume.
  • Data lands in a folder you know. App data in one predictable place is what makes backups and moving to new hardware possible.
  • Updates are visible and deliberate. You want to see that an update exists and choose when to apply it, especially for apps holding databases.
  • Uninstall asks about data. Removing an app and deleting its data should be two separate decisions.
  • You are not limited to the catalogue. Every store is missing something. Pasting a Compose file should be a first-class way to add an app.
  • The apps outlive the store. If you stop using the dashboard, the apps should keep running as plain Docker Compose stacks.

How Homeio's app store works

Homeio, the project behind this site, uses the official CasaOS App Store as its default catalogue, so the apps self-hosters know best, such as Jellyfin, Immich, Nextcloud, Pi-hole and Home Assistant, are there from the first run. You can add more stores from Store Sources: paste the HTTPS address of a ZIP archive of any CasaOS-style store, and its apps appear next to the official ones. Each source can be refreshed or turned off on its own.

Installing opens a configurator with three views of the same app. The form view lists the image, ports, volumes, environment variables, devices, capabilities, network and restart policy. The Compose view shows the file itself in an editor. The Docker Run view shows the equivalent command. Change what you need in whichever view you prefer, then install.

Progress streams while the images download and the containers start, and a notification tells you when the app is ready. App data goes under /DATA/AppData/<app>, the same layout CasaOS uses, so an app reinstalled from the store finds the data a previous copy left behind.

The app store is one window of Homeio's desktop. The same interface has a file manager, disk tools, scheduled tasks and backups, which is what the rest of this site covers. The live demo opens straight onto it.

After the install: updates, logs, uninstall

  • Updates. When the catalogue moves an app to a newer version tag than the one you run, the app shows an update. Applying it pulls the new images and recreates the containers, with progress on screen.
  • Redeploy. Pulls the images again and recreates the containers with the current Compose file. This is how an app that tracks a moving tag such as latest picks up a new image, and how changes you made to its settings take effect.
  • Logs. Each app's logs stream live, with standard output and errors marked apart, so you can watch a slow first start instead of guessing.
  • Settings. Open an installed app's configuration later to change a port, add a volume or edit its Compose file.
  • Uninstall. Removes the containers, and asks separately whether to delete the app's data.

To keep images current without clicking, a scheduled task can pull every stack's images on a cron schedule. That only downloads them; apps move to the new image when you update or redeploy them, so nothing restarts behind your back. For the command-line side of the same work, see our guide to managing Docker containers.

Adding an app that is not in the store

Choose Install Custom App and paste either a Docker Compose file or a docker run command; Homeio converts the command to Compose. Most projects publish one or the other in their README. For example, Uptime Kuma, a status page and uptime monitor:

docker-compose.ymlyaml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - /DATA/AppData/uptime-kuma:/app/data

Point volumes at a folder under /DATA/AppData so the app's data sits with everything else and ends up in your backups. Custom apps get the same logs, settings, redeploy and uninstall as store apps.

Two habits save trouble later. Pin a version tag rather than latest for anything holding a database, and check that the host port is free before you install. If you are new to Compose, our Docker home server guide explains ports, volumes and networks from the start.

Good first apps to install

  • Jellyfin for your films and shows on every TV and phone.
  • Immich for automatic photo backup from your phone.
  • Pi-hole or AdGuard Home for network-wide ad blocking.
  • Vaultwarden as a lightweight Bitwarden server for passwords.
  • Home Assistant to control smart home devices locally.

Install two or three, live with them for a week, then add more. Our list of the best self-hosted apps covers each category in more depth, and the beginner setup guide covers the server underneath.

When an app store is the wrong tool

One-click installs suit apps with a clear image, a few ports and a data folder, which is most of them. They fit less well for stacks that need careful host networking, apps that expect to manage other containers, or a setup you want to keep in Git and deploy the same way on several machines. For those, write the Compose file yourself and run it with docker compose. Homeio will still show the running containers on its desktop, and nothing it installs depends on it: every app is a Compose stack you can manage by hand at any time.

⌘HWhere Homeio fits

Where the app store fits in Homeio.

The store is the part of Homeio most people open first. Around it sit the pieces that keep apps running after install: a file manager with the app data folders one click away, live CPU, memory and disk use, scheduled tasks, weekly backups, and remote access through Tailscale or Cloudflare Tunnel. Try it in the live demo.

⌘?FAQ

Docker app store questions.

What is a self-hosted app store?

A catalogue of Docker Compose templates for self-hosted apps, with a web interface to install them. It fills in the ports, folders and settings, writes the Compose file and starts the containers, so you can run apps like Jellyfin or Immich without writing Compose by hand.

Is there an app store for Docker on Linux?

Yes, several. CasaOS and Homeio install on Debian, Ubuntu or Raspberry Pi OS and use the CasaOS App Store; Runtipi has its own store; Portainer offers app templates. Other stores come with a whole operating system: umbrelOS, Unraid and TrueNAS each have one that only works on that OS.

Can I use CasaOS apps in Homeio?

Yes. Homeio's default catalogue is the official CasaOS App Store, it reads the same x-casaos Compose metadata, and you can add community CasaOS-style stores by pasting the HTTPS address of their ZIP archive.

Can I install an app that is not in the store?

Yes. Install Custom App accepts a Docker Compose file or a docker run command, which Homeio converts to Compose. Custom apps get the same logs, settings, redeploy and uninstall as store apps.

Does uninstalling an app delete its data?

Only if you choose to. Uninstall removes the containers and asks separately whether to delete the app's data under /DATA/AppData, so you can reinstall later and pick up where you left off.

How are app updates handled?

When the catalogue lists a newer version tag than the one you run, the app shows an update, and applying it pulls the new images and recreates the containers. Apps on a moving tag such as latest pick up new images when you redeploy them. A scheduled task can pull images in the background without restarting anything.

Is the Homeio app store free?

Yes. Homeio is open source under the AGPL-3.0 with no paid tier, and the apps in the store are open-source projects you run on your own hardware.