How getarcaneapp/arcane works
Arcane is a Docker-management application with a web interface and CLI backed by a Go API. Its main user journey is to select an environment, inspect or manage Docker resources, and receive updated state or operation status. The tree also identifies distinct project deployment, image and vulnerability management, backup, and remote-environment capabilities. The README excerpt gives the product positioning but few implementation details; relationships below rely on component names and the sampled excerpts, so uncertain wiring is omitted.
Main entry points: api.go HTTP API · database.go Application database · handler.go Environment management · project.go Project lifecycle
Components 20
User interfaces
- Web application
frontend/src/lib/services/auth-service.ts - Arcane CLI
cli/pkg/root.go
API and identity
- HTTP API
backend/api/api.go - Authentication
backend/internal/auth/handler.go - Application database
backend/internal/database/database.go - Environment management
backend/internal/environment/handler.go
Docker operations
- Project lifecycle
backend/internal/project/project.go - Container management
backend/internal/container/handler.go - Swarm management
backend/internal/swarm/swarm.go - Images and updates
backend/internal/image/image.go - Registry access
backend/internal/registry/service.go
Operations and insights
- Vulnerability scans
backend/internal/vulnerability/vulnerability.go - Backup operations
backend/internal/backup/engine.go - Scheduled jobs
backend/internal/job/service.go - Docker events
backend/internal/event/service.go - Notifications
backend/internal/notification/notification.go
Remote environments
- Tunnel server
backend/pkg/libarcane/edge/server.go
Other components
- Operator
- Docker engine
- Remote environment agent
Connections 28
- Operator → Web application: uses
- Operator → Arcane CLI: uses
- Web application → HTTP API: requests
- Arcane CLI → HTTP API: requests
- HTTP API → Authentication: authenticates
- HTTP API → Environment management: routes requests
- HTTP API → Project lifecycle: routes requests
- HTTP API → Container management: routes requests
- HTTP API → Swarm management: routes requests
- HTTP API → Images and updates: routes requests
- HTTP API → Vulnerability scans: routes requests
- HTTP API → Backup operations: routes requests
- HTTP API → Scheduled jobs: routes requests
- Environment management → Application database: reads and writes
- Project lifecycle → Application database: reads and writes
- Project lifecycle → Docker engine: manages projects
- Container management → Docker engine: manages containers
- Swarm management → Docker engine: manages swarm
- Images and updates → Docker engine: manages images
- Registry access → Docker engine: uses engine
- Vulnerability scans → Application database: stores scan data
- Backup operations → Docker engine: runs backup tasks
- Scheduled jobs → Application database: stores job state
- Docker events → Docker engine: observes events
- Docker events → Application database: stores events
- Notifications → Operator: delivers alerts
- Environment management → Tunnel server: routes remotely
- Remote environment agent → Tunnel server: connects tunnel