pylon setup walks you through an interactive wizard that creates your global configuration. Run it once before creating any pipelines. It checks that Docker is installed, prompts for your notification channel and AI agent preferences, and writes credentials to ~/.pylon/.env.
Usage
What setup configures
Docker check
Setup verifies Docker is installed and the daemon is running. If Docker is not found, it prints the install URL and continues.
Default channel
Choose where Pylon sends notifications and approval requests:
- Telegram — requires a bot token from @BotFather and a group chat ID
- Slack — requires a bot token, app-level token, and channel ID
- stdout — prints to the console only (useful for testing)
- Webhook — generic HTTP POST (no built-in UI; configure endpoint manually)
Default AI agent
Choose the AI agent that runs inside Docker containers:
- Claude Code — authenticate via OAuth (your existing
~/.claude/session) or anANTHROPIC_API_KEY - OpenCode — use built-in Zen (no key needed) or bring your own API key (Anthropic, OpenAI, or Google)
Public URL (optional)
Enter the base URL where external services can reach Pylon (e.g.
https://my-server.example.com). Leave blank if you only run locally or will configure this later.Telegram setup
When you select Telegram, setup guides you through:- Creating a bot via @BotFather (
/newbot) - Copying the bot token
- Detecting your group chat ID automatically (add the bot, send a
/command, Pylon detects the ID) or entering it manually
~/.pylon/.env as TELEGRAM_BOT_TOKEN. The config references it as ${TELEGRAM_BOT_TOKEN}.
Slack setup
When you select Slack, setup displays this app manifest to paste into the Slack API console:xoxb-...) and app-level token (xapp-...).
Output files
| File | Contents |
|---|---|
~/.pylon/config.yaml | Channel type, agent type, server settings |
~/.pylon/.env | Secrets (bot tokens, API keys) — loaded automatically on pylon start |