AltFreeStack
Deployment, PaaS & Hosting100% FOSS🔴 Full · ~4GB

CasaOS: Open Source alternative to Synology DSM in 2026

CasaOS turns any Linux server (or Raspberry Pi) into a personal NAS/dashboard with a Synology DSM-style interface, with an App Store to install self-hosted apps in one click.

License Apache-2.037.3k starsWebsite GitHub Repository

Audit Snapshot

View notes →
  • License — Matches GitHub

  • GitHub — Active

  • Latest release — v0.4.15 · 1 year ago

  • Docker Compose — Official installer, no compose

  • Production — Not production-tested by AltFreeStack

CasaOS vs. Synology DSM

Pros

  • The easiest way to turn a Pi into a personal NAS

Things to consider

  • Built more for home use than for production

Quick Docker installation guide

This tool doesn't install via a plain docker-compose.yml — it uses the project's own official installer. Review it before running it. See the full step-by-step guide →

💡 Official SaaS or self-hosted with AltFreeStack?

  • On the official cloud: a recurring monthly fee and usage limits on Synology DSM.
  • On your own VPS: 100% free software on your own server, with no artificial row, project or user limits.
install.sh (official script)
# CasaOS se instala con su script oficial directamente sobre el servidor
# (es un panel para gestionar Docker/tu NAS, no una app dentro de Docker).
# Descárgalo e inspecciónalo antes de ejecutarlo — nunca lo hagas con un
# pipe directo a ciegas:
curl -fsSL https://get.casaos.io -o casaos-install.sh
cat casaos-install.sh   # revísalo antes de continuar
sudo bash casaos-install.sh

This docker-compose corresponds to an actively maintained project — last commit 15 days ago.

This docker-compose not working for you? Report it on GitHub →

Technical profile

License
Apache-2.0
Category
Deployment, PaaS & Hosting
Replaces
Synology DSM
Tech stack
GoVue.js

Key features

  • One-click App Store with dozens of self-hosted apps
  • Built-in web file manager
  • Built for Raspberry Pi and mini-PCs
🌐 Connect your domain with free SSL

Step 1 — Set up the DNS

In your domain registrar's dashboard (Cloudflare, Namecheap, GoDaddy...), create a record:

Type
A
Name/Host
@ (root domain) or a subdomain, e.g. app
Content/Value
Your server's public IP

Wait 5 to 15 minutes for the record to propagate across the internet.

Step 2 — Automatic reverse proxy with Caddy

One single file, no Nginx config or manual certificates — Caddy issues and renews Let's Encrypt HTTPS on its own.

Create a file called Caddyfile:

yourdomain.com {
    reverse_proxy localhost:YOUR_APP_PORT
}

Start Caddy with this command (pulls the image and runs it in the background):

docker run -d -p 80:80 -p 443:443 --name caddy --restart always -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy