ally-devops
v1.1.1
Published
Self-hosted developer platform and control plane for Linux servers.
Maintainers
Readme
Ally DevOps
Ally DevOps is a self-hosted developer platform/control plane for Linux servers.
It ships as an npm package and includes:
- a polished CLI:
ally - an interactive TUI
- a bundled local web UI
- a deployment engine for full stacks or selected services
- sequential stable port allocation
- Cloudflare DNS and Tunnel automation
- diagnostics and doctor mode
- backup and restore
- OpenClaw + LiteLLM + Modal-aware AI wiring
- service variants and interactive install prompts with guidance for each secret or variable
Install
npm install -g ally-devops
ally installRequirements
- Linux
- Docker Engine
- Docker Compose v2 plugin
- Bash
tar- Optional:
cloudflaredfor managed tunnel runsghfor GitHub migrationgitopenssl
Main commands
ally install
ally uninstall
ally stack deploy
ally stack destroy
ally service install gitlab
ally service remove gitlab
ally start grafana
ally stop grafana
ally restart grafana
ally logs grafana
ally shell grafana
ally inspect grafana
ally ps
ally status
ally urls
ally backup
ally restore ./backups/ally-backup-2026-03-09.tar.gz
ally diagnostics
ally doctor
ally ports
ally dns apply
ally dns list
ally dns validate
ally tunnel apply
ally webui start
ally tui
ally completion install
ally migrate github-to-gitlabConfiguration layout
By default Ally stores runtime state in:
~/.ally-devops/config.json~/.ally-devops/credentials.json~/.ally-devops/state.json~/.ally-devops/ports.json~/.ally-devops/generated/~/.ally-devops/backups/
Copy the examples from examples/ if you want to pre-seed configuration.
Interactive secret capture
Every install flow prompts for required variables before deployment begins. Each variable includes:
- a label
- description
- whether it is secret
- a default or auto-generation rule
- a note explaining how to obtain it
This applies in:
- CLI install flows
- TUI install flows
- Web UI install flows
Parallel installs only start after all service variables are collected and confirmed.
Service variants
Run:
ally service variantsSupported examples include:
- Git forge: GitLab, Gitea, Forgejo
- Paste: OpenGist, MicroBin, PrivateBin
- AI UI: AnythingLLM, Open WebUI
- Search/code intelligence: Zoekt
- Mail: iRedMail
- Dashboard/home: Homarr
AI setup
The AI stack supports Modal-backed OpenAI-compatible endpoints through LiteLLM. OpenClaw can be configured to point at LiteLLM automatically.
Relevant config keys:
modal.baseUrlmodal.imageGenUrllitellm.masterKeylitellm.models[]openclaw.gatewayBaseUrl
iRedMail
iRedMail is handled as a first-class special service. This package installs it in its own compose project with dedicated ports, volumes, env, DNS guidance, and backup paths. Mail is opt-in and isolated from the rest of the web stack.
Notes on installation model
This package provides full service modules, generated compose/env/config files, runtime health checks, and lifecycle control. Services are installed with concrete definitions, not TODO scaffolds.
Publish readiness
This package is structured to publish directly to npm. Before publishing, run:
npm install
npm run checkExamples
See:
examples/config.example.jsonexamples/credentials.example.jsontemplates/service-variants.md
