Agent Installation
System Requirements
- OS: Linux (kernel 4.x+), macOS 12+, or Windows Server 2019+
- CPU: 1 vCPU minimum
- Memory: 256 MB RAM minimum
- Disk: 500 MB free (for temporary backup files during upload)
- Network: Outbound HTTPS to
api.jokowipe.id(port 443) - Node.js: Not required (agent is a standalone Go binary)
Installation Methods
- Linux (curl)
- Debian/Ubuntu (apt)
- RHEL/CentOS (rpm)
- macOS (Homebrew)
- Docker
- Windows
The quickest way to install on any Linux system:
curl -fsSL https://get.jokowipe.id/install.sh | bash
This script:
- Detects your OS and architecture
- Downloads the latest agent binary
- Installs it to
/usr/local/bin/jokowipe-agent - Creates a systemd service unit at
/etc/systemd/system/jokowipe-agent.service - Creates the config directory at
/etc/jokowipe/
To install a specific version:
curl -fsSL https://get.jokowipe.id/install.sh | bash -s -- --version v1.2.0
# Add the jokowipe apt repository
curl -fsSL https://packages.jokowipe.id/gpg | sudo gpg --dearmor -o /usr/share/keyrings/jokowipe.gpg
echo "deb [signed-by=/usr/share/keyrings/jokowipe.gpg] https://packages.jokowipe.id/apt stable main" \
| sudo tee /etc/apt/sources.list.d/jokowipe.list
# Install
sudo apt-get update
sudo apt-get install jokowipe-agent
# Add the jokowipe yum repository
sudo rpm --import https://packages.jokowipe.id/gpg
cat <<EOF | sudo tee /etc/yum.repos.d/jokowipe.repo
[jokowipe]
name=jokowipe.id
baseurl=https://packages.jokowipe.id/rpm/stable/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.jokowipe.id/gpg
EOF
sudo yum install jokowipe-agent
brew install jokowipe/tap/jokowipe-agent
To run as a macOS service (launchd):
brew services start jokowipe/tap/jokowipe-agent
docker run -d \
--name jokowipe-agent \
--restart unless-stopped \
-v /etc/jokowipe:/etc/jokowipe:ro \
-e JOKOWIPE_TOKEN="your_agent_token" \
jokowipe/agent:latest
Or with Docker Compose:
version: '3.8'
services:
jokowipe-agent:
image: jokowipe/agent:latest
restart: unless-stopped
environment:
JOKOWIPE_TOKEN: "${JOKOWIPE_TOKEN}"
JOKOWIPE_SERVER_URL: "https://api.jokowipe.id"
volumes:
- ./agent.yaml:/etc/jokowipe/agent.yaml:ro
network_mode: host # Required for localhost database access
Download and run the MSI installer:
# Download installer
Invoke-WebRequest -Uri "https://get.jokowipe.id/install.ps1" -OutFile "install.ps1"
.\install.ps1
# Or use the MSI directly
Start-Process msiexec.exe -ArgumentList '/i', 'https://packages.jokowipe.id/windows/jokowipe-agent-latest.msi' -Wait
The agent is installed to C:\Program Files\jokowipe\agent\ and registered as a Windows Service.
Verify Installation
jokowipe-agent version
# jokowipe-agent v1.2.0 (linux/amd64, go1.22.1)
jokowipe-agent doctor
# ✓ Binary: jokowipe-agent v1.2.0
# ✓ Config: /etc/jokowipe/agent.yaml
# ✓ pg_dump: found (v16.1)
# ✓ mysqldump: found (v8.0.36)
# ✗ mongodump: not found
# ✓ Network: api.jokowipe.id reachable
Systemd Service
The installer creates a systemd service. Use standard systemd commands to manage it:
# Start the agent
sudo systemctl start jokowipe-agent
# Enable on boot
sudo systemctl enable jokowipe-agent
# Check status
sudo systemctl status jokowipe-agent
# View logs
sudo journalctl -u jokowipe-agent -f
# Restart
sudo systemctl restart jokowipe-agent
Running as a Non-Root User
It is strongly recommended to run the agent as a dedicated system user:
# Create a dedicated user
sudo useradd --system --no-create-home --shell /usr/sbin/nologin jokowipe
# Set config directory permissions
sudo chown -R jokowipe:jokowipe /etc/jokowipe
# Update the systemd service
sudo systemctl edit jokowipe-agent
Add to the override file:
[Service]
User=jokowipe
Group=jokowipe
Then reload:
sudo systemctl daemon-reload
sudo systemctl restart jokowipe-agent
Uninstallation
# Stop and disable the service
sudo systemctl stop jokowipe-agent
sudo systemctl disable jokowipe-agent
# Remove the binary
sudo rm /usr/local/bin/jokowipe-agent
# Remove the service file
sudo rm /etc/systemd/system/jokowipe-agent.service
sudo systemctl daemon-reload
# (Optional) Remove config
sudo rm -rf /etc/jokowipe