- Rename Go module switchboard-core → armature (155+ files) - Rename Docker image → gobha/armature - Rename K8s resources, secrets, deployments - Rename Prometheus metrics switchboard_* → armature_* - Rename env vars SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_* - Rename DB names switchboard_core* → armature* - Update all frontend branding, notification templates, docs - Update CI scripts, e2e tests, Keycloak realm, nginx conf - Rename scripts/switchboard-ca.sh → scripts/armature-ca.sh - Rename k8s/switchboard.yaml → k8s/armature.yaml - Rename chart alerting/dashboard files - Fix: DockerHub push uses env: binding for secret injection - Helm chart updated (name, labels, template functions, dashboard, alerting) - Replace favicon/icon assets with Armature brand No functional changes. Pure mechanical rename + CI fix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.8 KiB
2.8 KiB
Getting Started
Prerequisites
- Docker and Docker Compose
Running with Docker Compose
docker compose up --build
Open http://localhost:3000. Default credentials: admin / admin.
Data persists in the sb_data named volume. To reset everything:
docker compose down -v
First Boot
On first start, Armature will:
- Run database migrations (SQLite by default in compose).
- Create the admin user from
ARMATURE_ADMIN_USERNAME/ARMATURE_ADMIN_PASSWORDenv vars. - Auto-install the curated default package set (notes, chat-core, dashboard, workflow demos, etc.).
No manual setup steps are required.
Installing Additional Packages
The Docker image ships with extra packages beyond the default set. To install them:
- Via Admin UI: Go to
/admin> Packages. Browse, enable, or install packages. - Via environment variable: Set
BUNDLED_PACKAGESbefore starting:
# Install all bundled packages
BUNDLED_PACKAGES="*" docker compose up --build
# Install specific extras
BUNDLED_PACKAGES="notes,tasks,schedules" docker compose up --build
You can also upload .pkg archives through the Admin > Packages page.
Key URLs
| URL | Purpose |
|---|---|
/ |
Redirects to your default surface |
/admin |
Admin panel (users, packages, settings, teams) |
/settings |
User settings (profile, preferences, default surface) |
/welcome |
Welcome page (shown when no surfaces are installed) |
/api/docs |
Interactive OpenAPI documentation |
Key Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
Backend API port |
DB_DRIVER |
auto | postgres or sqlite |
DATABASE_URL |
PostgreSQL DSN or SQLite file path | |
JWT_SECRET |
dev-secret-change-me |
Change in production |
ENCRYPTION_KEY |
AES-256 key for credential encryption | |
AUTH_MODE |
builtin |
builtin, mtls, or oidc |
STORAGE_BACKEND |
auto | pvc or s3 |
STORAGE_PATH |
/data/storage |
PVC mount point |
ARMATURE_ADMIN_USERNAME |
Bootstrap admin username | |
ARMATURE_ADMIN_PASSWORD |
Bootstrap admin password | |
BUNDLED_PACKAGES |
(empty) | "" = curated defaults, "*" = all, or comma-separated IDs |
SKIP_BUNDLED_PACKAGES |
false |
Disable auto-install entirely |
LOG_LEVEL |
info |
debug, info, warn, error |
LOG_FORMAT |
text |
text or json |
From Source
git clone <repo-url> && cd armature
cp server/.env.example server/.env # edit DB credentials
cd server && go run .
# Backend on http://localhost:8080
Next Steps
- Extension Guide -- Author your own packages
- API Reference -- REST API overview
- Deployment -- Production deployment
- Architecture -- System design