Files
warp/docker/linux-dev
Anshul Garg bb5edc017a Drop warp-internal references from docker/linux-dev README (#9410)
### Description

\`docker/linux-dev/README.md\` still referenced the private
\`warp-internal\` repository in two places (a sentence about the repo
root, and a comment in the docker-run snippet). External contributors
following this doc would be looking for a repo they can't access.

Updated:

- \"You'll run all of these commands from the \`warp-internal\`
repository's root directory.\" → drop the repo name (\"the repository's
root directory\").
- \"This can be the \`warp-internal\` repository or some parent
directory of your choice.\" → \"the \`warp\` repository or some parent
directory of your choice.\"

Doc-only.

### Testing

Markdown only.

### Server API

No server changes.

### Agent Mode

Not applicable.

### Changelog Entries

None.

Co-authored-by: anshul-garg27 <anshul-garg27@users.noreply.github.com>
2026-04-30 06:30:10 -07:00
..
2026-04-28 08:43:33 -05:00

Dockerfile for Linux Development

The Dockerfile in this directory defines a container that has all of the necessary tools installed to quickly get engineers up and running with building Warp on Linux.

This container is based on Debian Sid, Debian's unstable branch. It ensures that you are running the latest versions of things like mesa (an open-source 3D graphics library, providing implementations of OpenGL and Vulkan).

Prerequisites

You'll need to install:

  • Docker (e.g.: Docker Desktop)
  • XQuartz (download here)
    • You'll want to enable iGLX (indirect GL extensions) for proper rendering by running defaults write org.xquartz.X11 enable_iglx -bool true; you can do this before you install XQuartz.
    • After installing XQuartz, run it, and enable "Allow connections from network clients" in the Security tab in its settings. You'll need to quit and relaunch XQuartz after making this change.

Setup

You'll run all of these commands from the repository's root directory.

First, build the docker container image:

CONTAINER_NAME="warp-client-linux-dev"
docker build -t $CONTAINER_NAME docker/linux-dev

Next, run the container:

# The path to the source code directory that you want to mount in the
# container. This can be the `warp` repository or some parent
# directory of your choice.
LOCAL_PATH="/Users/$USER/src"

# Run the image as a container, bridging port 22 for SSH connections,
# mounting the provided directory into the container as `/src`, mounting
# your SSH key directory into the container (so you don't need to create a
# new GitHub SSH key), and mounting gcloud configuration (and auth information,
# so you can run SSH integration tests).
docker run -dp 127.0.0.1:22:22/tcp -v $LOCAL_PATH:/src -v $HOME/.ssh:/home/dev/.ssh -v $HOME/.config/gcloud:/home/dev/.config/gcloud $CONTAINER_NAME

Usage

Every time you start XQuartz, you'll need to run this once in order for programs running in the container to connect to it:

xhost +localhost

You should be able to SSH into the container and build and run warp without any additional setup (dev account password is "password"):

ssh dev@localhost
cd /src
cargo run --features fast_dev

It's possible you'll run into some odd errors while trying to compile Warp; if so, just keep rerunning the cargo command and it should work eventually.