Installation guide
Learn how to install the Alpacon agent (Alpamon) on your servers and connect them to your workspace.
Prerequisites
Before installing Alpacon, ensure you have:
- Alpacon workspace: Sign up at alpacon.io if you don’t have one
- Server requirements:
- Supported OS (see supported platforms)
- Root or sudo access for installation
- Outbound HTTPS connectivity (port 443)
- 150MB free disk space
- 128MB available RAM
Supported platforms
Alpamon ships official builds for Linux, macOS, and Windows.
| Platform | Versions | Architecture |
|---|---|---|
| Linux | Ubuntu 18.04+, Debian 10+, RHEL 7+, CentOS 7+, Rocky 8+, Alma 8+, Oracle 7+, Fedora 36+, Amazon Linux 2 / 2023, SUSE 12 / 15, Alpine 3.14+, Raspberry Pi OS | amd64, arm64 |
| macOS | 11 (Big Sur) or later | amd64 (Intel), arm64 (Apple Silicon) |
| Windows | Windows Server 2019 / 2022 / 2025, Windows 10 1803+, Windows 11 | amd64 |
Feature scope per platform
Linux and macOS expose Alpacon’s full feature set, including user and group management and Unix-style permission changes (chmod / chown). Windows servers support terminal sessions (Websh) and file transfer (WebFTP); user/group management and Unix permission controls are not applicable and the corresponding UI is disabled for Windows servers.
Coming soon
- Container environments: Docker, Kubernetes support in development
Quick installation
The recommended way to install and register Alpamon:
Step 1: Prepare server registration in workspace
- Log in to your Alpacon workspace
- Go to Servers → Register Server and choose Registration with token
- Select the Platform, optionally set a Server name, and pick a registration token. Access groups are inherited from the token, not set on this form.
See Register a server for the full registration flow (including Ansible).
Step 2: Install using the generated command
Copy the command your workspace generates and run it on the server. The workspace tailors it to the platform you selected.
Linux / macOS—paste into a terminal:
# The command will look similar to this:
curl https://your-workspace.us1.alpacon.io/api/servers/installers/YOUR_UNIQUE_ID/ | sudo -EH bash
Windows—paste into an elevated PowerShell (Run as Administrator). The generated command downloads the agent from GitHub Releases, verifies its checksum, and runs alpamon.exe register. See Windows for the equivalent manual steps.
In either case, the command will:
- Install the Alpamon agent
- Register the server with your workspace
- Start the agent as a service
Note: On Linux and macOS,
sudo -EHpreserves your environment variables (such as proxy settings) and setsHOMEfor the install.
Step 3: Verify installation
In your workspace, verify the server shows as Connected in the server list. You can now access it via terminal.
Manual installation (advanced)
Note: For most users, we recommend using the workspace-generated install command (see Quick installation). Manual installation requires separate registration.
Linux packages are hosted on packagecloud.io. macOS uses a Homebrew tap. Windows uses release archives published on GitHub Releases.
Linux
Method 1: Repository installation (recommended)
This method allows automatic updates through your system’s package manager.
Step 1: Get environment variables from Alpacon
Before installation, you need to obtain registration credentials from your Alpacon workspace.
Option A: Via Alpacon Web UI
- Log in to your Alpacon workspace
- Navigate to Servers → Register Server
- Create a new server entry
- Copy the environment variables from the installation instructions:
ALPACON_URL,PLUGIN_ID,PLUGIN_KEY
Option B: Via Alpacon CLI
# Create server via CLI (interactive prompts)
alpacon server create
# After creation, you'll see installation instructions including environment variables
# Copy the ALPACON_URL, PLUGIN_ID, and PLUGIN_KEY values
Step 2: Set environment variables
Export the credentials on your target server:
export ALPACON_URL="https://your-workspace.us1.alpacon.io"
export PLUGIN_ID="your-plugin-id"
export PLUGIN_KEY="your-plugin-key"
Important: Use
exportto ensure these variables are available during installation. The-EHflags insudo -EHpreserve your environment variables and setHOMEfor the install.
Step 3: Install Alpamon
DEB-based systems (Ubuntu/Debian):
# Add repository and GPG key (preserves environment variables)
curl -s https://packagecloud.io/install/repositories/alpacax/alpamon/script.deb.sh?any=true | sudo -EH bash
# Install Alpamon (uses environment variables for auto-registration)
sudo -EH apt-get install -y alpamon
# Start and enable the service
sudo systemctl start alpamon
sudo systemctl enable alpamon
RPM-based systems (RHEL/CentOS/Rocky/Alma/Fedora):
# Add repository (preserves environment variables)
curl -s https://packagecloud.io/install/repositories/alpacax/alpamon/script.rpm.sh?any=true | sudo -EH bash
# Install Alpamon (uses environment variables for auto-registration)
sudo -EH yum install -y alpamon
# Start and enable the service
sudo systemctl start alpamon
sudo systemctl enable alpamon
Note: If your workspace has sudo with MFA enabled, also install the PAM module by adding
alpamon-pamto the install command—for examplesudo -EH apt-get install -y alpamon alpamon-pam(oryumon RHEL-based systems). The workspace-generated command adds this automatically.
Method 2: Direct package download
Download and install a specific package version directly. This method also requires environment variables for auto-registration.
Step 1: Get and set environment variables
Follow the same steps as Method 1 to obtain and export ALPACON_URL, PLUGIN_ID, and PLUGIN_KEY.
export ALPACON_URL="https://your-workspace.us1.alpacon.io"
export PLUGIN_ID="your-plugin-id"
export PLUGIN_KEY="your-plugin-key"
Step 2: Download and install
DEB-based systems (Ubuntu/Debian):
# Download the latest package
wget https://packagecloud.io/alpacax/alpamon/packages/ubuntu/focal/alpamon_amd64.deb/download.deb?distro_version_id=210 -O alpamon_amd64.deb
# Install the package (preserves environment variables)
sudo -EH dpkg -i alpamon_amd64.deb
# Install any missing dependencies
sudo -EH apt-get install -f -y
# Start the service
sudo systemctl start alpamon
sudo systemctl enable alpamon
RPM-based systems (RHEL/CentOS/Rocky/Alma/Fedora):
# Download the latest package
wget https://packagecloud.io/alpacax/alpamon/packages/el/8/alpamon-x86_64.rpm/download.rpm -O alpamon.x86_64.rpm
# Install the package (preserves environment variables)
sudo -EH rpm -i alpamon.x86_64.rpm
# Start the service
sudo systemctl start alpamon
sudo systemctl enable alpamon
Browse all packages: Visit packagecloud.io/alpacax/alpamon to view all available packages for different OS versions and architectures.
Note: If environment variables are set correctly during installation, the agent will auto-register. Otherwise, proceed to manual registration.
macOS
Install Alpamon with Homebrew, then run alpamon register to write the config and start the launchd service. The $(brew --prefix) form below works on both Apple Silicon (/opt/homebrew/bin) and Intel (/usr/local/bin) Macs. Use the full path because sudo may not find Homebrew-installed binaries on Apple Silicon.
brew tap alpacax/alpacon
brew install alpamon
sudo "$(brew --prefix)/bin/alpamon" register \
--url https://your-workspace.us1.alpacon.io \
--token YOUR_API_TOKEN
It is safe to re-run alpamon register later—it refreshes the configuration file and restarts the service.
Windows
Open an elevated PowerShell (Run as Administrator) and choose one of the methods below. In both cases, alpamon.exe register installs the agent under C:\Program Files\alpamon\, registers it as a Windows service that starts automatically on boot, and starts the service. It is safe to re-run register later—it refreshes the configuration and restarts the service.
Method 1: Manual install
- Download
alpamon-X.Y.Z-windows-amd64.zipfrom GitHub Releases and extract it. - From an elevated PowerShell in the extracted folder:
.\alpamon.exe register `
--url https://your-workspace.us1.alpacon.io `
--token YOUR_API_TOKEN
Method 2: Automated install with install.ps1
Recommended for cloud-init, EC2 UserData, Packer, and Azure Custom Script Extension. The script downloads the release archive, verifies the download integrity using the checksums published with the release, extracts it, and runs alpamon register.
Download-then-run (preferred—keeps the installer on disk for audit):
$env:ALPAMON_URL = "https://your-workspace.us1.alpacon.io"
$env:ALPAMON_TOKEN = "YOUR_API_TOKEN"
$installer = Join-Path $env:TEMP 'alpamon-install.ps1'
Invoke-WebRequest -UseBasicParsing `
-Uri 'https://raw.githubusercontent.com/alpacax/alpamon/main/scripts/install.ps1' `
-OutFile $installer
& powershell -ExecutionPolicy Bypass -File $installer
Pipe-to-iex (terse, trades auditability for brevity):
$env:ALPAMON_URL = "https://your-workspace.us1.alpacon.io"
$env:ALPAMON_TOKEN = "YOUR_API_TOKEN"
iwr https://raw.githubusercontent.com/alpacax/alpamon/main/scripts/install.ps1 -UseB | iex
Advanced: manual registration
If you installed Alpamon manually (without the workspace-generated install command), you can register it separately:
Get registration information
- Log in to your Alpacon workspace
- Navigate to Servers → Register Server
- Create a server entry and note the registration details
Register the server
Run the registration command on your server:
sudo alpamon register \
--url https://your-workspace.us1.alpacon.io \
--token YOUR_API_TOKEN \
--name "production-web-01" \
--tag env=prod --tag role=web
Options:
--url: Alpacon server URL (required)--token: API token withservers:registerscope (required)--name: Server name (optional, defaults to hostname)--platform: Platform type—debian,rhel,darwin, orwindows(optional, auto-detected)--ssl-verify: Enable SSL certificate verification (default: true)--ca-cert: CA certificate file path (optional)--tag: Server tag inkey=valueformat (optional, repeatable)--no-cloud-probe: Skip cloud provider metadata auto-detection on cloud hosts (optional)
Verify registration
Check the agent status using the command for your platform.
Linux
sudo systemctl status alpamon
sudo journalctl -u alpamon -f
macOS
sudo launchctl print system/com.alpacax.alpamon
tail -f /var/log/alpamon/alpamon.log
Windows
sc.exe query alpamon
Get-Content "$env:ProgramData\alpamon\log\alpamon.log" -Wait -Tail 50
In your workspace:
- Go to Servers page
- Your server should appear as “Connected”
- Click on the server to access terminal
Configuration
Configuration file
The configuration file location depends on the platform:
- Linux:
/etc/alpamon/alpamon.conf - macOS:
/Library/Application Support/alpamon/alpamon.conf - Windows:
%ProgramData%\alpamon\alpamon.conf
Format (INI):
[server]
id = your-server-id
key = your-server-key
url = https://your-workspace.us1.alpacon.io
[ssl]
verify = true
# ca_cert = /path/to/ca.crt # Custom CA certificate (optional)
[logging]
level = info # debug, info, warning, error, fatal
debug = false
[pool]
max_workers = 20 # Maximum concurrent workers
queue_size = 200 # Job queue size
default_timeout = 30 # Task timeout in seconds (0 = no timeout)
[editor]
idle_timeout = 60 # Code-server idle timeout in minutes (0 = disabled)
Note: This file is automatically generated during installation or registration. You typically don’t need to edit it manually.
Environment variables
These environment variables are used during package installation for auto-registration:
# Required for auto-registration
export ALPACON_URL="https://your-workspace.us1.alpacon.io"
export PLUGIN_ID="your-server-id"
export PLUGIN_KEY="your-server-key"
# Optional
export ALPACON_SSL_VERIFY="true" # SSL certificate verification
export ALPACON_CA_CERT="/path/to/ca.crt" # CA certificate path
export PLUGIN_DEBUG="false" # Enable debug logging
Proxy configuration
If your server is behind a proxy, set the HTTP proxy environment variables before running the install command or alpamon register:
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
Note: Use the lowercase form (
http_proxy/https_proxy)—the workspace-generated command and the system package manager read these. The-EHflags insudo -EHthen preserve them for the installation process.
Upgrading the agent
Once a server is registered, Alpacon keeps its Alpamon agent up to date on Linux and macOS—no manual download or reinstall needed. There are two paths:
- Automatic: with Auto agent upgrade enabled in workspace settings (the default), agents upgrade to the latest version on their own.
- On demand: upgrade a specific server from the CLI with
alpacon agent upgrade SERVER, then runalpacon eventsto watch progress.
The agent fetches the new version and restarts automatically. The server may briefly go Offline and reconnect, and if an upgrade fails the agent keeps running the previous version. On Linux the update comes through the system package manager (apt/yum); on macOS it’s downloaded from GitHub Releases. Every server needs outbound HTTPS to api.github.com for the version check.
On Windows, command-based upgrade isn’t supported yet. Upgrade by re-running the installer with the latest release.
If an upgrade doesn’t take effect, see agent upgrade issues.
Uninstallation
Linux
# Stop the service
sudo systemctl stop alpamon
# Uninstall package (Debian/Ubuntu)
sudo apt-get remove --purge alpamon
# Uninstall package (RHEL/CentOS/Rocky/Alma)
sudo yum remove alpamon
# Remove configuration and data
sudo rm -rf /etc/alpamon
sudo rm -rf /var/lib/alpamon
sudo rm -rf /var/log/alpamon
macOS
brew uninstall alpamon
# Remove configuration, data, and logs
sudo rm -rf "/Library/Application Support/alpamon"
sudo rm -rf /var/log/alpamon
Windows
From an elevated PowerShell:
sc.exe stop alpamon
sc.exe delete alpamon
# Remove the binary, configuration, and logs
Remove-Item "C:\Program Files\alpamon" -Recurse -Force
Remove-Item "$env:ProgramData\alpamon" -Recurse -Force
After uninstallation, remove the server from your workspace:
- Go to Servers in your workspace
- Select the server
- Click Delete
Troubleshooting
Agent won’t start
Check the service status and logs on the platform that applies.
Linux (systemd)
sudo systemctl status alpamon
sudo journalctl -u alpamon -n 50
macOS (launchd)
sudo launchctl print system/com.alpacax.alpamon
tail -n 50 /var/log/alpamon/alpamon.log
Windows (Service Control Manager)
From an elevated PowerShell:
sc.exe query alpamon
Get-Content "$env:ProgramData\alpamon\log\alpamon.log" -Tail 50
For deeper service-start failures, also check Event Viewer → Windows Logs → Application and Applications and Services Logs.
Registration fails
Common issues:
- Invalid token: Regenerate token in workspace
- Network error: Check firewall/proxy settings
- DNS issues: Verify you can resolve alpacon.io
- Time sync: Ensure system time is correct
Connection issues
Test connectivity:
# Test HTTPS connectivity
curl -v https://alpacon.io
# Test with proxy
curl -v -x http://proxy:8080 https://alpacon.io
# Check DNS
nslookup alpacon.io
dig alpacon.io
# Check firewall
sudo iptables -L -n | grep 443
Performance tuning
Adjust worker pool and editor settings in /etc/alpamon/alpamon.conf:
[pool]
max_workers = 20 # Maximum concurrent workers (default: 20)
queue_size = 200 # Job queue size (default: 200)
default_timeout = 30 # Task timeout in seconds (default: 30, 0 = no timeout)
[editor]
idle_timeout = 60 # Code-server idle timeout in minutes (default: 60, 0 = disabled)
Next steps
After successful installation:
- Configure access controls - Set up roles and permissions
- Connect via Websh - Access your server through the browser
- Review activity - Audit sessions, commands, and approval decisions
- Integrate with CI/CD - Automate deployments
Need help?
- Check our Troubleshooting guide
- Visit the FAQ
- Join our Discord community
- Email support: support@alpacax.com