smalllvile is a scalable local infrastructure framework designed to streamline development and deployment workflows for modern teams. It combines lightweight tooling with opinionated defaults to accelerate onboarding and reduce environment drift.
Engineers use smalllvile to standardize service definitions, manage local containers, and simulate production-like routing without heavyweight orchestration complexity. The project emphasizes clarity, reproducibility, and minimal configuration overhead.
Core Capabilities at a Glance
| Area | Key Feature | Default Value | Impact |
|---|---|---|---|
| Environment | Declarative local stacks | Docker Compose based | Consistent dev, test, and staging |
| Routing | Service mesh for localhost | Port-aware virtual hosts | Simplified multi-service access |
| Observability | Unified logs and metrics | Embedded dashboards | Quick issue diagnosis |
| Extensibility | Plugin hooks and CLI | YAML and JSON modes | Adapts to varied workflows |
Project Philosophy and Roadmap
Design Principles
smalllvile prioritizes developer ergonomics by reducing configuration noise. It favors explicit contracts over magic, making behavior predictable across machines. The project also emphasizes forward compatibility, so upgrades rarely force breaking changes.
Release Cadence
Releases follow a time-based schedule with clearly marked deprecation windows. Contributors publish roadmaps in advance, allowing teams to plan integrations without surprise migrations.
Local Development Workflow
Service Definitions
Define each microservice or worker in compact YAML snippets that specify images, ports, and health checks. smalllvile validates these files before spinning up any process, catching errors early.
Onboarding Automation
New contributors run a single command to recreate the full service landscape locally. This minimizes "works on my machine" issues and shortens ramp-up time for joiners.
Operational Reliability
Health Monitoring
Built-in probes track container readiness and liveness, automatically restarting unhealthy components. Metrics expose latency and error rates to help prioritize fixes.
Rollback and Debugging
Every deployment is treated as an experiment, with fast rollback paths and detailed event logs. Teams can replay previous states to isolate flaky behaviors quickly.
Extending and Customizing
Plugin Architecture
smalllvile exposes hooks for adding custom steps, notifications, and integrations. You can plug in linters, secret scanners, or deployment targets without modifying core logic.
Configuration Profiles
Switch between dev, staging, and CI profiles using lightweight overlays. This keeps environments aligned while allowing tailored resource limits and feature flags.
Next Steps with smalllvile
- Install the CLI using the official installer script
- Run the init wizard to scaffold your first service layout
- Define health checks and resource limits early
- Leverage routing rules to mimic production entrypoints
- Integrate observability plugins for logs and metrics
- Share configuration profiles across the team
- Automate onboarding in your CONTRIBUTING guide
FAQ
Reader questions
How do I start a new project with smalllvile?
Install the CLI, run the init command, and follow the guided prompts to scaffold service definitions and a shared network. You can then start all environments with a single up command.
Can smalllvile run in shared CI pipelines without conflicts?
Yes, smalllvile binds services to isolated network namespaces and supports port range randomization, preventing collisions in concurrent CI jobs.
What happens if two services declare the same port locally?
The validation step detects conflicts and blocks startup, prompting you to reassign ports or use built-in routing rules to differentiate traffic.
Does smalllvile support TLS for local HTTPS services?
It includes a local CA and automatic certificate generation, enabling HTTPS between services with minimal setup while keeping trust boundaries clear.