Files
coder/docs/tutorials/quickstart.md
T
Ben Potter cfce751b8a docs(docs): improve Docker daemon troubleshooting for all platforms (#24922)
Improves the Docker daemon troubleshooting in the quickstart and Docker
install docs:

- Renames the quickstart entry from "Cannot connect to the Docker daemon
on Linux" to cover all platforms.
- Adds a plain-English explanation of what the error means (Docker is
not installed or not running).
- Adds tabbed macOS/Linux/Windows instructions to the quickstart (macOS
and Windows were missing).
- Simplifies the Linux steps to match what Step 1 of the quickstart
already teaches.
- Adds a matching entry to `docs/install/docker.md` with a cross-link to
the quickstart for platform-specific steps.

Supersedes #24907 which was closed without merging.

Fixes https://linear.app/codercom/issue/DEVREL-23

> Generated with [Coder Agents](https://coder.com/agents)
2026-05-05 12:44:39 -05:00

11 KiB

Quickstart

Follow this guide to get your first Coder development environment running in under 10 minutes. This guide covers the essential concepts and shows you how to create your first workspace and run VS Code from it.

What You'll Do

In this quickstart, you'll:

  • Install Coder server
  • Create a template (blueprint for dev environments)
  • Launch a workspace (your actual dev environment)
  • Connect from your favorite IDE

Understanding Coder: 30-Second Overview

Before diving in, the following table breaks down the core concepts that power Coder, explained through a cooking analogy:

Component What It Is Real-World Analogy
You The engineer/developer/builder working The head chef cooking the meal
Templates A Terraform blueprint that defines your dev environment (OS, tools, resources) Recipe for a meal
Workspaces The actual running environment created from the template The cooked meal
Users A developer who launches the workspace from a template and does their work inside it The people eating the meal

Putting it Together: Coder separates who defines environments from who uses them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals.

Prerequisites

  • A machine with 2+ CPU cores and 4GB+ RAM
  • Familiarity with running commands in the terminal
  • 10 minutes of your time

Step 1: Install Docker and Set Up Permissions

Linux

  1. Install Docker:

    curl -sSL https://get.docker.com | sh
    

    For more details, visit Docker's docs on installing Docker on Linux.

  2. Assign your user to the Docker group:

    sudo usermod -aG docker $USER
    
  3. Run newgrp to activate the groups changes:

    newgrp docker
    

    You might need to log out of and back into your machine or restart your machine for changes to take effect.

  4. Launch the Docker daemon:

    sudo systemctl start docker
    

macOS

  1. Install Docker. There is a Homebrew formula for the Docker command and a Homebrew cask of Docker Desktop if you prefer:

    brew install --cask docker-desktop
    
  2. Open Docker Desktop.

Windows

If you plan to use the built-in PostgreSQL database, ensure that the Visual C++ Runtime is installed.

  1. Install Docker.

  2. Open Docker Desktop.

Step 2: Install & Start Coder

Install the coder CLI to get started:

Linux/macOS

  1. Install Coder:

    curl -L https://coder.com/install.sh | sh
    
    • For standalone binaries, system packages, or other alternate installation methods, refer to the latest release on GitHub.
  2. Start Coder:

    coder server
    

Windows

If you plan to use the built-in PostgreSQL database, ensure that the Visual C++ Runtime is installed.

  1. Use the winget package manager to install Coder:

    winget install Coder.Coder
    
  2. Start Coder:

    coder server
    

Coder will attempt to open the setup page in your browser. If it doesn't open automatically, go to http://localhost:3000.

  • If you get a browser warning similar to Secure Site Not Available, you can ignore the warning and continue to the setup page.

If your Coder server is on a network or cloud device, or you are having trouble viewing the page, locate the web UI URL in Coder logs in your terminal. It looks like https://<CUSTOM-STRING>.<TUNNEL>.try.coder.app. It's one of the first lines of output, so you might have to scroll up to find it.

Step 3: Initial Setup

  1. Create your admin account:

    • Email: your.email@example.com
    • Password: Choose a strong password.

    You can also choose to Continue with GitHub instead of creating an admin account. Coder automatically grants admin permissions to the first user that signs in.

    Welcome to Coder - Create admin user

Step 4: Create your First Template and Workspace

Tip

If you use an AI coding assistant, the coder-templates agent skill can guide you through creating and customizing templates with best practices built-in.

Templates define what's in your development environment. Let's start simple:

  1. Click "Templates""New Template"

  2. Choose a starter template:

    Starter Best For Includes
    Docker Containers (Recommended) Getting started quickly, local development, prototyping Ubuntu container with common dev tools, Docker runtime
    Kubernetes (Deployment) Cloud-native teams, scalable workspaces Pod-based workspaces, Kubernetes orchestration
    AWS EC2 (Linux) Teams needing full VMs, AWS-native infrastructure Full EC2 instances with AWS integration
  3. Click "Use template" on Docker Containers. Note: running this template requires Docker to be running in the background, so make sure Docker is running!

  4. Name your template:

    • Name: quickstart
    • Display name: quickstart doc template
    • Description: Provision Docker containers as Coder workspaces
  5. Click "Save"

    Create template

What just happened? You defined a template — a reusable blueprint for dev environments — in your Coder deployment. It's now stored in your organization's template list, where you and any teammates in the same org can create workspaces from it. Let's launch one.

Step 5: Launch your Workspace

  1. After the template is ready, select Create Workspace.

  2. Give the workspace a name and select Create Workspace.

  3. Coder starts your new workspace:

    getting-started-workspace is runningWorkspace is running

Step 6: Connect your IDE

Select VS Code Desktop to install the Coder extension and connect to your Coder workspace.

After VS Code loads the remote environment, you can select Open Folder to explore directories in the Docker container or work on something new.

Changing directories in VS Code

To clone an existing repository:

  1. Select Clone Repository and enter the repository URL.

    For example, to clone the Coder repo, enter https://github.com/coder/coder.git.

    Learn more about how to find the repository URL in the GitHub documentation.

  2. Choose the folder to which VS Code should clone the repo. It will be in its own directory within this folder.

    Note that you cannot create a new parent directory in this step.

  3. After VS Code completes the clone, select Open to open the directory.

  4. You are now using VS Code in your Coder environment!

Success! You're Coding in Coder

You now have:

  • Coder server running locally
  • A template defining your environment
  • A workspace running that environment
  • IDE access to code remotely

What's Next?

Now that you have your own workspace running, you can start exploring more advanced capabilities that Coder offers.

Troubleshooting

Cannot connect to the Docker daemon

When creating a workspace from a Docker template, you may see an error like:

Error: Error pinging Docker server: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

This means Docker is either not installed or not running on the machine where Coder is running. Docker must be running before you create a workspace from a Docker-based template.

macOS

  1. If Docker Desktop is not installed, install it or use Homebrew:

    brew install --cask docker-desktop
    
  2. Open Docker Desktop and verify that it is running.

Linux

  1. Install Docker, if you haven't already:

    curl -sSL https://get.docker.com | sh
    
  2. Start the Docker daemon:

    sudo systemctl start docker
    
  3. Assign your user to the docker group so Coder can access the daemon without root:

    sudo usermod -aG docker $USER
    newgrp docker
    
  4. Confirm the group membership:

    $ groups
    docker sudo users
    

Windows

  1. If Docker Desktop is not installed, install it.

  2. Open Docker Desktop and verify that it is running.

Can't start Coder server: Address already in use

Encountered an error running "coder server", see "coder server --help" for more information
error: configure http(s): listen tcp 127.0.0.1:3000: bind: address already in use

Another process is already listening on port 3000. Identify and stop it, then start the server again.

Linux

  1. Stop the process:

    sudo systemctl stop coder
    
  2. Start Coder:

    coder server
    

macOS

  1. Identify the process using port 3000:

    lsof -i :3000
    
  2. Stop the process using the PID from the previous command:

    kill <PID>
    

    If the process does not exit, force-kill it:

    kill -9 <PID>
    
  3. Start Coder:

    coder server
    

Windows

  1. Identify the process using port 3000 in PowerShell:

    Get-NetTCPConnection -LocalPort 3000 | Select-Object OwningProcess
    
  2. Stop the process using the PID from the previous command:

    Stop-Process -Id <PID>
    
  3. Start Coder:

    coder server