Uninstalling
Instructions for removing Haloy components from your system.
Client Uninstallation
Remove the Haloy CLI (haloy) from your local machine.
Remove Client Only
curl -sL https://sh.haloy.dev/uninstall-haloy.sh | bash
curl -sL https://sh.haloy.dev/uninstall-haloy.sh | bash
This removes:
- The
haloyCLI tool from~/.local/bin/ - Shell completion scripts (if installed)
This does NOT remove:
- Client configuration (
~/.config/haloy/) - Server configurations and tokens
Remove Client Configuration
Manually remove configuration files associated with the haloy CLI (not needed if you run the uninstall script).
# Remove client configuration
rm -rf ~/.config/haloy/
# Remove client data
rm -rf ~/.local/share/haloy/
# Remove client configuration
rm -rf ~/.config/haloy/
# Remove client data
rm -rf ~/.local/share/haloy/
Server Uninstallation
Remove Haloy components from your server.
Remove Admin Tool Only
Remove haloyadm but keep haloyd and deployed applications running:
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
This removes:
- The
haloyadmCLI tool from/usr/local/bin/
This does NOT remove:
haloyddaemon- HAProxy
- Application containers
- Configuration or data
Note: You can reinstall haloyadm later if needed to manage the daemon.
Complete Server Removal
Remove all Haloy components, data, and configurations:
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
This removes:
haloyddaemon- HAProxy container
- All Haloy configuration files
- All Haloy data (databases, certificates, configs)
- Docker network
This does NOT remove:
- Your application containers (must be stopped/removed separately)
- Docker volumes created by your applications
haloyadmCLI tool
Stop Applications Before Removal
Before complete server removal, stop your applications:
# From your local machine
haloy stop --all --remove-containers
# Or on the server
docker ps --filter "label=haloy.app" -q | xargs docker stop
docker ps --filter "label=haloy.app" -qa | xargs docker rm
# From your local machine
haloy stop --all --remove-containers
# Or on the server
docker ps --filter "label=haloy.app" -q | xargs docker stop
docker ps --filter "label=haloy.app" -qa | xargs docker rm
Complete Cleanup
For a full cleanup of everything Haloy-related:
On Local Machine
# 1. Remove CLI
curl -sL https://sh.haloy.dev/uninstall-haloy.sh | bash
# 2. Remove configuration
rm -rf ~/.config/haloy/
rm -rf ~/.local/share/haloy/
# 3. Remove shell completion (if installed)
# Bash (Linux)
sudo rm -f /etc/bash_completion.d/haloy
# Bash (macOS)
sudo rm -f /usr/local/etc/bash_completion.d/haloy
# Zsh
rm -f ~/.local/share/zsh/site-functions/_haloy
# Fish
rm -f ~/.config/fish/completions/haloy.fish
# 1. Remove CLI
curl -sL https://sh.haloy.dev/uninstall-haloy.sh | bash
# 2. Remove configuration
rm -rf ~/.config/haloy/
rm -rf ~/.local/share/haloy/
# 3. Remove shell completion (if installed)
# Bash (Linux)
sudo rm -f /etc/bash_completion.d/haloy
# Bash (macOS)
sudo rm -f /usr/local/etc/bash_completion.d/haloy
# Zsh
rm -f ~/.local/share/zsh/site-functions/_haloy
# Fish
rm -f ~/.config/fish/completions/haloy.fish
On Server
# 1. Stop all applications
docker ps --filter "label=haloy.app" -q | xargs docker stop
docker ps --filter "label=haloy.app" -qa | xargs docker rm
# 2. Remove server components
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
# 3. Remove admin tool
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
# 4. Optional: Remove application data volumes
docker volume ls --filter "label=haloy.app" -q | xargs docker volume rm
# 5. Optional: Clean up unused Docker resources
docker system prune -a --volumes
# 1. Stop all applications
docker ps --filter "label=haloy.app" -q | xargs docker stop
docker ps --filter "label=haloy.app" -qa | xargs docker rm
# 2. Remove server components
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
# 3. Remove admin tool
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
# 4. Optional: Remove application data volumes
docker volume ls --filter "label=haloy.app" -q | xargs docker volume rm
# 5. Optional: Clean up unused Docker resources
docker system prune -a --volumes
Selective Removal
Keep Data, Remove Services
Stop services but preserve data for later reinstallation:
# Stop services
sudo haloyadm stop
# Remove only the admin tool
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
# Data remains in /var/lib/haloy/ and /etc/haloy/
# Can be restored by reinstalling and running:
# sudo haloyadm init
# Stop services
sudo haloyadm stop
# Remove only the admin tool
curl -sL https://sh.haloy.dev/uninstall-haloyadm.sh | sudo bash
# Data remains in /var/lib/haloy/ and /etc/haloy/
# Can be restored by reinstalling and running:
# sudo haloyadm init
Remove Everything Except Applications
Remove Haloy but keep applications running:
# Applications will continue running but:
# - No more deployments possible
# - No SSL/TLS (HAProxy removed)
# - No domain routing
# - Direct access to container ports needed
# Stop Haloy services
sudo haloyadm stop
# Remove Haloy components
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
# Applications still running
docker ps --filter "label=haloy.app"
# Applications will continue running but:
# - No more deployments possible
# - No SSL/TLS (HAProxy removed)
# - No domain routing
# - Direct access to container ports needed
# Stop Haloy services
sudo haloyadm stop
# Remove Haloy components
curl -sL https://sh.haloy.dev/uninstall-server.sh | sudo bash
# Applications still running
docker ps --filter "label=haloy.app"
Warning: Applications will lose HAProxy routing and SSL. You’ll need alternative routing.
What Gets Removed
Client Uninstallation
| Item | Location | Removed |
|---|---|---|
haloy CLI | ~/.local/bin/haloy | ✅ Yes |
| Shell completion | /etc/bash_completion.d/ or similar | ✅ Yes |
| Client config | ~/.config/haloy/ | ❌ No (manual) |
| Client data | ~/.local/share/haloy/ | ❌ No (manual) |
Server Uninstallation (Complete)
| Item | Location | Removed |
|---|---|---|
haloyadm CLI | /usr/local/bin/haloyadm | ❌ No (separate script) |
haloyd daemon | Docker container | ✅ Yes |
| HAProxy | Docker container | ✅ Yes |
| Configuration | /etc/haloy/ | ✅ Yes |
| Data | /var/lib/haloy/ | ✅ Yes |
| Docker network | haloy | ✅ Yes |
| Application containers | User-deployed | ❌ No (manual) |
| Application volumes | User-created | ❌ No (manual) |
Reinstallation
After uninstallation, you can reinstall Haloy:
Reinstall Client
curl -fsSL https://sh.haloy.dev/install-haloy.sh | bash
curl -fsSL https://sh.haloy.dev/install-haloy.sh | bash
Reinstall Server
# Install admin tool
curl -fsSL https://sh.haloy.dev/install-haloyadm.sh | sudo bash
# Initialize
sudo haloyadm init
# Optionally restore configuration
# (if you preserved /etc/haloy/ and /var/lib/haloy/)
# Install admin tool
curl -fsSL https://sh.haloy.dev/install-haloyadm.sh | sudo bash
# Initialize
sudo haloyadm init
# Optionally restore configuration
# (if you preserved /etc/haloy/ and /var/lib/haloy/)
Troubleshooting
Docker Containers Won’t Stop
# Force stop
docker stop $(docker ps -q --filter "label=haloy.app")
# Force remove
docker rm -f $(docker ps -qa --filter "label=haloy.app")
# Force stop
docker stop $(docker ps -q --filter "label=haloy.app")
# Force remove
docker rm -f $(docker ps -qa --filter "label=haloy.app")
Permission Denied Errors
# Ensure using sudo for server operations
sudo su
# Then run uninstall script
curl -sL https://sh.haloy.dev/uninstall-server.sh | bash
# Ensure using sudo for server operations
sudo su
# Then run uninstall script
curl -sL https://sh.haloy.dev/uninstall-server.sh | bash
Files Still Remain
# Manually remove remaining files
sudo rm -rf /etc/haloy/
sudo rm -rf /var/lib/haloy/
sudo rm -rf /usr/local/bin/haloyadm
# Manually remove remaining files
sudo rm -rf /etc/haloy/
sudo rm -rf /var/lib/haloy/
sudo rm -rf /usr/local/bin/haloyadm
Next Steps
After uninstallation:
- Reinstall Haloy if needed
- Switch to alternative deployment solutions
- Export your configurations for future reference