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:latest
Note: 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:latest
Coder 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
coder
repository: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
/login
to 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