Get started by creating your first remote agent.
Application-wide agents that can poll devices for any organization. Only visible and manageable by superadmins.
<.table id="cloud-pollers-table" rows={@cloud_pollers}> <:col :let={agent} label="Name">Fallback agent for organizations without a default agent configured. Devices with no assignment at any level will use this agent.
<.form for={%{}} phx-change="set_global_default" class="max-w-md"><.icon name="hero-check-circle" class="h-4 w-4 inline" /> Currently using: {selected_poller.name}
<% end %> <% else %><.icon name="hero-exclamation-triangle" class="h-4 w-4 inline" /> No global default configured. Devices without assignments will use cloud polling (nil).
<% end %>Use the token and Docker Compose configuration below to deploy this agent.
This configuration includes Watchtower for automatic agent updates. The agent will automatically update to the latest version every 15 minutes during development.
services:
towerops-agent:
image: {@agent_image}
container_name: towerops-agent
restart: unless-stopped
environment:
- TOWEROPS_API_URL={url(@socket, ~p"/")}
- TOWEROPS_AGENT_TOKEN={@new_token.token}
volumes:
- ./data:/data
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "com.centurylinklabs.watchtower.scope=towerops"
watchtower:
image: containrrr/watchtower:latest
container_name: towerops-watchtower
restart: unless-stopped
environment:
# Check for updates every 15 minutes (900 seconds)
- WATCHTOWER_POLL_INTERVAL=900
- WATCHTOWER_LABEL_ENABLE=true
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_LOG_LEVEL=info
# Use latest Docker API version
- DOCKER_API_VERSION=1.44
volumes:
- /var/run/docker.sock:/var/run/docker.sock