2.1 KiB
2.1 KiB
display_name, description, icon, maintainer_github, verified, tags
| display_name | description | icon | maintainer_github | verified | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Docker Workspaces with GPU & DooD | Provision Docker-based Coder workspaces with GPU support, Docker-out-of-Docker, Go, and Bun. | ../../../site/static/icon/docker.png | coder | true |
|
Feature-Rich Docker Workspaces
Provision powerful Docker containers as Coder workspaces with this advanced template. It features GPU passthrough, Docker-out-of-Docker (DooD), and automatically installs essential development tools on startup.
Prerequisites
Infrastructure
The VM you run Coder on must have a running Docker socket and the coder user must be added to the Docker group:
# Add coder user to Docker group
sudo adduser coder docker
# Restart Coder server
sudo systemctl restart coder
# Test Docker
sudo -u coder docker ps
Features & Architecture
This template provisions the following resources and features:
- Base Image:
codercom/enterprise-base:ubuntu - GPU Support: Passes all host GPUs to the workspace (
gpus = "all") for AI/ML and hardware acceleration. - Docker-out-of-Docker (DooD): Mounts the host's
/var/run/docker.sockso you can build and run containers seamlessly from inside your workspace. - Auto-Provisioned Tools: The workspace startup script automatically handles:
- System package updates (
apt-get update&apt-get upgrade) - Docker CLI
- Nixpacks
- Bun
- Golang
- SDKMAN! & Maven
- System package updates (
- Persistent Storage: Uses a persistent host directory mapped to
/home/coderto ensure your files survive workspace restarts. - Rich Telemetry: Displays CPU, RAM, Disk, Load Average, and GPU utilization directly in the Coder UI.
- IDE Support: Native integration with code-server (Browser VS Code) and JetBrains IDEs.
Note
While your
/home/coderdirectory is persistent, the container's root filesystem is ephemeral. The startup script handles reinstalling your system-level tools (Go, Bun, SDKMAN!, etc.) on each start. To speed up boot times, you may want to bake these tools into a custom Docker image.