You can install and run Coder using the official Docker images published on GitHub Container Registry.
Docker is required. See the official installation documentation.
For proof-of-concept deployments, you can run a complete Coder instance with the following command:
export CODER_DATA=$HOME/.config/coderv2-docker
export DOCKER_GROUP=$(getent group docker | cut -d: -f3)
mkdir -p $CODER_DATA
docker run --rm -it \
-v $CODER_DATA:/home/coder/.config \
-v /var/run/docker.sock:/var/run/docker.sock \
--group-add $DOCKER_GROUP \
ghcr.io/coder/coder:latestNote: Coder runs as a non-root user, we use --group-add to
ensure Coder has permissions to manage Docker via docker.sock. If the host
systems /var/run/docker.sock is not group writeable or does not belong to the
docker group, the above may not work as-is.
Coder configuration is defined via environment variables. Learn more about Coder's configuration options.
For production deployments, we recommend using an external PostgreSQL database
(version 13 or higher). Set ACCESS_URL to the external URL that users and
workspaces will use to connect to Coder.
docker run --rm -it \
-e CODER_ACCESS_URL="https://coder.example.com" \
-e CODER_PG_CONNECTION_URL="postgresql://username:password@database/coder" \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/coder/coder:latestCoder configuration is defined via environment variables. Learn more about Coder's configuration options.
Coder's publishes a docker-compose example which includes an PostgreSQL container and volume.
-
Install Docker Compose
-
Clone the
coderrepository:git clone https://github.com/coder/coder.git -
Start Coder with
docker-compose up:In order to use cloud-based templates (e.g. Kubernetes, AWS), you must have an external URL that users and workspaces will use to connect to Coder.
For proof-of-concept deployments, you can use Coder's tunnel:
cd coder docker-compose up
For production deployments, we recommend setting an access URL:
cd coder CODER_ACCESS_URL=https://coder.example.com docker-compose up
-
Visit the web ui via the configured url. You can add
/loginto the base url to create the first user via the ui. -
Follow the on-screen instructions log in and create your first template and workspace
Ensure you have an externally-reachable CODER_ACCESS_URL set. See troubleshooting templates for more steps.
See Docker's official documentation to Manage Docker as a non-root user