{"id":49444872,"url":"https://github.com/ddev/coder-ddev","last_synced_at":"2026-04-29T21:39:58.669Z","repository":{"id":334121564,"uuid":"1140061036","full_name":"ddev/coder-ddev","owner":"ddev","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-23T16:08:30.000Z","size":255,"stargazers_count":3,"open_issues_count":14,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-23T18:13:05.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"christianwiedemann/coder-ddev","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES_SUMMARY.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["ddev"],"custom":["https://www.paypal.com/donate/?hosted_button_id=MCNCSZHC7LHSQ","https://ddev.com/support-ddev/"]}},"created_at":"2026-01-22T19:21:52.000Z","updated_at":"2026-04-23T16:08:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ddev/coder-ddev","commit_stats":null,"previous_names":["rfay/coder-ddev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ddev/coder-ddev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddev%2Fcoder-ddev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddev%2Fcoder-ddev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddev%2Fcoder-ddev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddev%2Fcoder-ddev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddev","download_url":"https://codeload.github.com/ddev/coder-ddev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddev%2Fcoder-ddev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32445546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-29T21:39:57.712Z","updated_at":"2026-04-29T21:39:58.662Z","avatar_url":"https://github.com/ddev.png","language":"HCL","funding_links":["https://github.com/sponsors/ddev","https://www.paypal.com/donate/?hosted_button_id=MCNCSZHC7LHSQ","https://ddev.com/support-ddev/"],"categories":[],"sub_categories":[],"readme":"# DDEV Coder Templates\n\nCoder workspace template for DDEV-based development with Docker-in-Docker support, Node.js, and Git.\n\n**Get started with Drupal core development:**\n\n[![Open in Coder](https://coder.ddev.com/open-in-coder.svg)](https://coder.ddev.com/templates/coder/drupal-core/workspace?mode=manual)\n\n## Features\n\n- **Custom Base Image**: Ubuntu 24.04 LTS with essential development tools\n- **Docker-in-Docker**: Full Docker support for DDEV (using Sysbox runtime)\n- **DDEV**: Pre-installed and ready to use\n- **VS Code for Web**: Browser-based IDE with full extension support\n\n## Configuration\n\n**Container:**\n- User: `coder` (UID 1000)\n- Runtime: `sysbox-runc` (for secure Docker-in-Docker)\n- Docker daemon: Runs inside the container\n\n**Installed Tools:**\n- Docker CLI and daemon (latest stable)\n- ddev (latest stable)\n- Git, vim, build tools\n\n## Docker Image and Template Management\n\n### Building and Deploying\n\nThe base Docker image is built from the `image/Dockerfile` and the Coder template is in `template/`. Use the provided Makefile to manage everything:\n\n```bash\n# Full deployment (build, push image, push template)\nmake deploy-user-defined-web\n\n# Full deployment without cache\nmake deploy-user-defined-web-no-cache\n\n# Image operations\nmake build              # Build the image with cache\nmake build-no-cache     # Build without cache (useful for clean builds)\nmake push               # Push to Docker Hub\nmake build-and-push     # Build and push in one command\n\n# Template operations\nmake push-template-user-defined-web      # Push user-defined-web template to Coder\n\n# Utility commands\nmake test               # Test the built image\nmake info               # Show version and configuration\nmake help               # See all available commands\n```\n\n### Version Management\n\nThe `VERSION` file in the root directory controls the image tag. The Makefile automatically copies it into the template directory before pushing, and `template.tf` reads it from there — no manual edits to `template.tf` are needed.\n\n**To release a new version:**\n1. Update the `VERSION` file (e.g., `v0.7`)\n2. Run `make deploy-user-defined-web` to build image, push image, and push template\n\n**Quick deployment:**\n```bash\nmake deploy-user-defined-web        # Build with cache and deploy\n# or\nmake deploy-user-defined-web-no-cache  # Clean build and deploy\n```\n\n## Documentation\n\n**New to Coder?**\n- 📘 [Getting Started Guide](./docs/user/getting-started.md) - Create your first workspace\n- 📗 [Using Workspaces](./docs/user/using-workspaces.md) - Daily workflows and tips\n\n**Administrators:**\n- 📕 [Operations Guide](./docs/admin/operations-guide.md) - Deploy and manage template\n- 📙 [User Management](./docs/admin/user-management.md) - Users, roles, permissions\n- 📔 [Troubleshooting](./docs/admin/troubleshooting.md) - Debug common issues\n\n**DDEV Experts:**\n- 🔍 [Comparison to Local DDEV](./docs/architecture/comparison-to-local.md) - Architecture, tradeoffs, migration\n\n**Developers/Contributors:**\n- 🤖 [CLAUDE.md](./CLAUDE.md) - AI-assisted development guide\n\n📚 **[Full Documentation Index](./docs/README.md)**\n\n## Template Structure\n\n```\ncoder-ddev/\n├── user-defined-web/          # General-purpose DDEV template\n│   ├── template.tf\n│   └── README.md\n├── drupal-core/   # Drupal core development template\n│   ├── template.tf\n│   └── README.md\n├── image/              # Shared Docker image\n└── Makefile           # Build and deploy automation\n```\n\n## Available Templates\n\n### user-defined-web (General Purpose)\nBasic DDEV development environment for any project type.\n\n- **Resources**: 4 cores, 8 GB RAM (default)\n- **Setup**: Manual (clone your own repository)\n- **Use Case**: Any DDEV-compatible project (Drupal, WordPress, Laravel, etc.)\n- **Start Time**: \u003c 1 minute\n- **Template Directory**: `user-defined-web/`\n\n**Create workspace:**\n```bash\ncoder create --template user-defined-web my-workspace\n```\n\n### drupal-core (Drupal Core Development)\nFully automated Drupal core development environment, including issue fork support.\n\n- **Setup**: Automatic (Drupal core cloned and installed, ~30s with seed cache)\n- **Use Case**: Drupal core development, contribution, patch testing\n- **Template Directory**: `drupal-core/`\n- **Issue Picker**: [start.coder.ddev.com/drupal-issue](https://start.coder.ddev.com/drupal-issue) — paste any drupal.org issue URL to launch a workspace with the issue branch pre-checked-out\n- **Includes**:\n  - Pre-cloned Drupal core (main branch by default)\n  - Issue fork checkout with automatic Composer dependency resolution (Drupal 10, 11, and 12/main)\n  - Configured DDEV with automatic PHP version selection\n  - Installed demo_umami site (or standard/minimal via parameter)\n  - Admin account (admin/admin)\n\n**Create workspace:**\n```bash\ncoder create --template drupal-core my-drupal-dev\n```\n\n### Choosing a Template\n\n- Use **user-defined-web** for:\n  - Contrib module development\n  - Site building\n  - General Drupal/PHP projects\n  - Maximum flexibility\n\n- Use **drupal-core** for:\n  - Drupal core patches\n  - Core issue queue work\n  - Testing Drupal core changes\n  - Learning Drupal internals\n\n## Usage\n\nCreate a new workspace using your chosen template:\n\n```bash\n# General-purpose DDEV environment\ncoder create --template user-defined-web \u003cworkspace-name\u003e\n\n# Drupal core development environment\ncoder create --template drupal-core \u003cworkspace-name\u003e\n```\n\n**Access your project:**\n- Open Coder dashboard\n- Find your workspace\n- Click on port **80** or **443** under \"Apps\"\n\n**📖 [Full Getting Started Guide](./docs/user/getting-started.md)**\n\n### For Administrators\n\nDeploy template and manage infrastructure:\n\n```bash\n# Build and push Docker image\ncd image\ndocker build -t ddev/coder-ddev:v0.1 .\ndocker push ddev/coder-ddev:v0.1\n\n# Deploy template to Coder\ncoder templates push --directory user-defined-web user-defined-web --yes\n\n# Or use Makefile\nmake deploy-user-defined-web  # Build + push image + push template\n```\n\n**📖 [Full Operations Guide](./docs/admin/operations-guide.md)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddev%2Fcoder-ddev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddev%2Fcoder-ddev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddev%2Fcoder-ddev/lists"}