Damp

Creating Sites

Create PHP projects with one-click DevContainers

Create PHP projects with automatic DevContainer setup. Choose from basic PHP, Laravel, or add DevContainer support to existing projects.

Site Types

Basic PHP

Empty PHP project with minimal setup. Perfect for:

  • Custom frameworks
  • Small applications
  • Learning PHP
  • API projects

Includes:

  • ✅ PHP (your chosen version)
  • ✅ Composer
  • ✅ XDebug pre-configured
  • public/index.php starter file
  • ✅ DevContainer files

Laravel

New Laravel application with optional starter kits:

None

Clean Laravel installation

React

Laravel + Inertia + React + TypeScript

Vue

Laravel + Inertia + Vue + TypeScript

Livewire

Laravel + Livewire + Blade

Custom

Your own starter repository URL

Laravel Includes:

  • ✅ Latest Laravel via Composer
  • ✅ Node.js for asset compilation
  • ✅ Starter kit of your choice
  • ✅ Database-ready (DB_HOST=damp-mysql)
  • ✅ Tinker access button

Existing Project

Add DevContainer support to your existing PHP codebase.

What DAMP Adds:

  • .devcontainer/ folder
  • .vscode/ settings
  • ✅ Named volume for performance
  • ✅ HTTPS domain and certificate
  • ✅ Hosts file entry

Existing Files Preserved

DAMP only adds DevContainer files - your existing code remains untouched!

Creation Process

Open Create Dialog

Click "Add Site" button in DAMP's Sites page.

Select Site Type

Choose Basic PHP, Laravel, or Existing Project.

Choose Starter Kit (Laravel Only)

If creating Laravel, select your preferred starter kit or none for clean install.

Configure Details

FieldDescriptionExample
NameSite identifier (no spaces)myblog
PathWhere project folder is createdC:\Users\Me\Projects
PHP VersionPHP runtime version8.4, 8.3, 8.2, 8.1, 8.0, 7.4

Project Location

For Basic/Laravel: Project folder created at {path}\{name}

For Existing: Select the existing project's root folder

Optional Features

Toggle additional features:

  • Claude Code CLI - AI coding assistant in DevContainer
  • Is Laravel Project (Existing only) - Enable Laravel-specific features

Create Site

Click "Create Site" and watch progress in real-time:

  1. Setup (10%) - Preparing structure
  2. Laravel Install (30%) - Installing Laravel (if applicable)
  3. Volume (50%) - Creating named volume
  4. DevEnv (80%) - Configuring DevContainer
  5. Finalizing (90%) - Adding domain and SSL
  6. Complete (100%) - Ready!

Creation Output

After creation, your project contains:

mysite/
├── .devcontainer/
│   ├── devcontainer.json      # VS Code DevContainer config
│   ├── Dockerfile              # PHP image with extensions
│   ├── php.ini                 # PHP configuration
│   └── xdebug.ini              # XDebug settings
├── .vscode/
│   ├── launch.json             # F5 debugging config
│   └── settings.json           # VS Code workspace settings
├── public/
│   └── index.php               # Entry point
└── [Laravel files if applicable]

PHP Versions

DAMP supports all modern PHP versions:

VersionImageUse Case
8.4php:8.4-apacheLatest features
8.3php:8.3-apacheCurrent stable
8.2php:8.2-apachePrevious stable
8.1php:8.1-apacheLegacy support
8.0php:8.0-apacheLegacy support
7.4php:7.4-apacheLegacy projects

Version Flexibility

Different sites can use different PHP versions - run PHP 7.4 and 8.4 simultaneously!

DevContainer Features

Every site includes:

Pre-installed Extensions

  • pdo_mysql - MySQL connectivity
  • mysqli - MySQL improved
  • zip - Archive handling
  • gd - Image processing
  • intl - Internationalization
  • opcache - Performance
  • xdebug - Debugging (mode: debug,develop)

VS Code Integration

  • F5 Debugging - Breakpoints, step through code
  • IntelliSense - Auto-completion
  • Format on Save - Code formatting
  • Git Integration - Built-in source control

Networking

  • DevNet Network - All containers communicate
  • Named Volume - Fast file I/O on Windows
  • Caddy Integration - Automatic HTTPS routing

Claude Code CLI

Enable AI-powered coding assistance:

// Added to devcontainer.json when enabled
"features": {
  "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}

Usage Inside Container:

# Start interactive session
claude-code

# Get help with code
claude-code "how do I make a PHP API endpoint?"

One-Click AI

Just toggle the switch during creation - DAMP handles the DevContainer configuration!

Troubleshooting


Quick Testing

Create a Basic PHP site first to verify your setup works before trying Laravel!

Next Steps