3.2 KiB
You can install and run Coder using the official Docker images published on GitHub Container Registry.
Requirements
Docker is required. See the official installation documentation.
Run Coder with built-in database and tunnel (quick)
For proof-of-concept deployments, you can run a complete Coder instance with with the following command:
export CODER_DATA=$HOME/.config/coderv2-docker
mkdir -p $CODER_DATA
docker run --rm -it \
-e CODER_TUNNEL=true \
-v $CODER_DATA:/home/coder/.config \
-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.
Run Coder with access URL and external PostgreSQL (recommended)
For production deployments, we recommend using an external PostgreSQL database.
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.
Run Coder with docker-compose
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 CODER_TUNNEL=true docker-compose up
For production deployments, we recommend setting an access URL:
cd coder CODER_ACCESS_URL=https://coder.example.com docker-compose up
Without
CODER_ACCESS_URL
orCODER_TUNNEL
set, Coder will bind tolocalhost:7080
. This will only work for Docker-based templates. -
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
Troubleshooting
Docker-based workspace is stuck in "Connecting..."
Ensure you have an externally-reachable CODER_ACCESS_URL
set. See troubleshooting templates for more steps.
Permission denied while trying to connect to the Docker daemon socket
See Docker's official documentation to Manage Docker as a non-root user