Local development, simplified.

What is Dwell?

Dwell is a CLI for reproducible local web project environments. Combine backend and frontend, choose a curated Managed stack or bring your application through Custom PHP and Custom Frontend.

The idea

A shared foundation for local development.

Dwell organizes Docker, local domains, routing and optional HTTPS through project configuration. It can prepare new projects and import existing applications. Development stays local: Dwell is not a deployment, hosting or production orchestration system.

Managed stacks

A deliberately small catalog with version profiles, compatibility checks and maintained integration. Lockfiles are part of reproducibility.

Custom as an open path

Dwell supplies the generic local environment within its documented runtime limits. You maintain the application, framework versions and dependencies.

Central routing

The shared Docker gateway connects configured hosts and paths to the backend or frontend. HTTPS is optional.

Optional LAN access

Share a project on your local network when you need to. Availability also depends on your network.

How it works

Dwell as a central layer.

PHP backends run with Nginx and MariaDB in Docker; frontend development servers run on the host. The shared Docker gateway organizes access. Frontend-only also requires Docker.

Key concepts

Project configuration

Describes roles, versions, PHP runtime, services, routing and networking. Share the configuration and lockfiles in the repository.

.dwell/dwell.json

Project runtime

Generated Compose, Nginx and PHP files, process state and logs. These files are refreshed from project configuration.

.dwell/runtime/

Global gateway

The shared gateway connects local .localhost domains to running project services.

~/.dwell/gateway/

Development services

Backends enable Mailpit and phpMyAdmin by default. Elasticsearch and Mercure are optional; frontend-only does not have these services.

Installation · Release Candidate

Install from the repository.

The README describes installing Release Candidate 1.0.0-rc.1 from a repository checkout.

Installation (from the repository)bash
$ npm ci && npm pack
$ npm install -g ./websign-dwell-1.0.0-rc.1.tgz

Node.js ≥ 20.19.0, npm in PATH, Docker with Linux containers and Compose v2. Frontend profiles may require a newer Node version.

Your first project

Create, build, start.

After installation, create a project, build its services and start the local environment.

First projectbash
  1. $ dwell init my-project# Create project
  2. $ dwell build# Build services
  3. $ dwell up# Start environment

dwell import

Your project does not need a fresh start.

Analyze existing code and review the import proposal. Dwell recognizes supported stacks from known metadata; Custom offers a controlled path for other applications. Unsupported framework versions are not silently rewritten.