This page walks through each phase ofDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/damianiglesias/proxmox-casaos-deploy/llms.txt
Use this file to discover all available pages before exploring further.
casaosscript.sh v2.0 line by line so you understand exactly what runs on your system, in what order, and why. The script is fully automated — once started, it requires no further input unless CasaOS is already installed, in which case it enters maintenance mode instead.
Downloading the Script
Get the script onto your LXC container using either of the following methods from inside the container shell:Logging
Before any phase runs, the script redirects all stdout and stderr to a log file using process substitution so nothing is lost:apt-get and the CasaOS installer — is appended to /var/log/casaos_deploy.log and displayed on the terminal simultaneously. This log is the first place to look if something goes wrong.
Phase 1 — Root Check
The script’s first real action is to verify it is running as root. If the effective user ID ($EUID) is anything other than 0, it prints an error and exits immediately:
❌ Please run as root, prefix your command with sudo or switch to the root user with su -.
Phase 2 — Maintenance Mode Detection
Before attempting any installation, the script checks whether CasaOS is already present on the system:casaos binary is found on PATH, the script skips installation entirely and presents an interactive maintenance menu instead. See the Maintenance Mode page for full details on these options.
Phase 3 — Dependency Installation
With the root check passed and no existing CasaOS detected, the script updates the package index and installs a set of required and utility packages:curl was successfully installed — since the next phase depends on it:
curl is missing after the install attempt, the script exits with a fatal error. This almost always means the container cannot reach the Debian/Ubuntu package mirrors — check your network configuration and try again.
Phase 4 — CasaOS Installation
The script invokes the official IceWhaleTech CasaOS installer via a curl pipe to bash:The IceWhaleTech installer (
get.sh) handles the full CasaOS setup: it detects your OS and architecture, adds the CasaOS APT repository, installs the CasaOS core packages and companion services (including the app management daemon and user service), and registers the casaos systemd service so that CasaOS starts automatically on boot.Phase 5 — Media Directory Creation
After CasaOS is installed, the script creates a standard/DATA directory tree and sets broad permissions:
Phase 6 — Health Check
Once directory creation is complete, the script pauses for five seconds to allow the CasaOS service to finish its own initialization, then queries its status:FAILED TO START, check the log at /var/log/casaos_deploy.log and run systemctl status casaos for more detail.
See the Directory Structure page for a full breakdown of the
/DATA layout created in Phase 5 and how to mount those directories inside Jellyfin, Plex, and other CasaOS app containers.