Rename the `rails/` directory to `tools/` for agent discoverability — agents frequently failed to locate helper scripts due to the non-intuitive directory name. Add backward-compat symlink `rails/ → tools/`. New tool suites: - Authentik: auth-token, user-list, user-create, group-list, app-list, flow-list, admin-status (8 scripts) - Coolify: team-list, project-list, service-list, service-status, deploy, env-set (7 scripts) - Woodpecker: pipeline-list, pipeline-status, pipeline-trigger (3 stubs) - GLPI: session-init, computer-list, ticket-list, ticket-create, user-list (6 scripts) - Health: stack-health.sh — stack-wide connectivity check Infrastructure: - Shared credential loader at tools/_lib/credentials.sh - install.sh creates symlink + chmod on tool scripts - All ~253 rails/ path references updated across 68+ files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Coolify Tool Suite
Manage Coolify container deployment platform (projects, services, deployments, environment variables).
Prerequisites
jqandcurlinstalled- Coolify credentials in
~/src/jarvis-brain/credentials.json(or$MOSAIC_CREDENTIALS_FILE) - Required fields:
coolify.url,coolify.app_token
Scripts
| Script | Purpose |
|---|---|
team-list.sh |
List teams |
project-list.sh |
List projects |
service-list.sh |
List all services |
service-status.sh |
Get service details and status |
deploy.sh |
Trigger service deployment |
env-set.sh |
Set environment variable on a service |
Common Options
-f json— JSON output (default: table)-u uuid— Service UUID (for service-specific operations)-h— Show help
API Reference
- Base URL:
http://10.1.1.44:8000 - API prefix:
/api/v1/ - Auth: Bearer token in
Authorizationheader - Rate limit: 200 requests per interval
Known Limitations
- FQDN updates on compose sub-apps not supported via API. Workaround: update directly in Coolify's PostgreSQL DB (
coolify-dbcontainer,service_applicationstable). - Compose must be base64-encoded in
docker_compose_rawfield when creating services via API. - Don't send
typewithdocker_compose_raw— API rejects payloads with both fields.
Coolify Magic Variables
Coolify reads special env vars from compose files:
SERVICE_FQDN_{NAME}_{PORT}— assigns a domain to a compose serviceSERVICE_URL_{NAME}_{PORT}— internal URL reference- Must use list-style env syntax (
- SERVICE_FQDN_API_3001), NOT dict-style.
Examples
# List all projects
~/.config/mosaic/tools/coolify/project-list.sh
# List services as JSON
~/.config/mosaic/tools/coolify/service-list.sh -f json
# Check service status
~/.config/mosaic/tools/coolify/service-status.sh -u <uuid>
# Set an env var
~/.config/mosaic/tools/coolify/env-set.sh -u <uuid> -k DATABASE_URL -v "postgres://..."
# Deploy a service
~/.config/mosaic/tools/coolify/deploy.sh -u <uuid>