{ "versions": ["main"], "routes": [ { "title": "About", "description": "Coder is a self-hosted platform for running AI coding agents and cloud development environments on the infrastructure you control.", "path": "./README.md", "icon_path": "./images/icons/home.svg", "children": [ { "title": "Screenshots", "description": "See screenshots of the Coder platform, including browser-based workspace access and the admin dashboard.", "path": "./about/screenshots.md" }, { "title": "Support", "description": "Get help with your Coder deployment through GitHub issues, our Discord community, and premium support.", "path": "./support/index.md", "children": [ { "title": "Generate a Support Bundle", "description": "Generate a support bundle and share workspace and deployment diagnostics with Coder support to troubleshoot issues.", "path": "./support/support-bundle.md" } ] }, { "title": "Contributing", "description": "Set up your development environment and learn the workflow for contributing code to Coder.", "path": "./about/contributing/CONTRIBUTING.md", "icon_path": "./images/icons/contributing.svg", "children": [ { "title": "Code of Conduct", "description": "Read the Contributor Covenant code of conduct that governs participation in the Coder community.", "path": "./about/contributing/CODE_OF_CONDUCT.md", "icon_path": "./images/icons/circle-dot.svg" }, { "title": "Documentation", "description": "Follow Coder's style guide conventions for voice, formatting, and terminology when you author documentation.", "path": "./about/contributing/documentation.md", "icon_path": "./images/icons/document.svg" }, { "title": "Modules", "description": "Learn how to build and contribute reusable Terraform modules to the Coder Registry.", "path": "./about/contributing/modules.md", "icon_path": "./images/icons/gear.svg" }, { "title": "Templates", "description": "Learn how to build and contribute complete workspace templates to the Coder Registry.", "path": "./about/contributing/templates.md", "icon_path": "./images/icons/picture.svg" }, { "title": "Backend", "description": "A guide to Coder's backend systems to help engineers and community contributors start backend development.", "path": "./about/contributing/backend.md", "icon_path": "./images/icons/gear.svg" }, { "title": "Frontend", "description": "A guide to Coder's frontend codebase and conventions to help you start contributing to the UI.", "path": "./about/contributing/frontend.md", "icon_path": "./images/icons/frontend.svg" }, { "title": "Security", "description": "Read Coder's security policy and learn how to responsibly report a security vulnerability.", "path": "./about/contributing/SECURITY.md", "icon_path": "./images/icons/lock.svg" }, { "title": "AI Contribution Guidelines", "description": "Follow the rules for pull requests where an AI system is the primary author of the code.", "path": "./about/contributing/AI_CONTRIBUTING.md", "icon_path": "./images/icons/ai_intelligence.svg" } ] } ] }, { "title": "Get started", "description": "Install Coder, build your first template, and launch your first workspace in this quickstart guide.", "path": "./get-started/index.md", "icon_path": "./images/icons/rocket.svg", "children": [ { "title": "Customize your template", "description": "Add a language, install command-line tools, and authenticate to GitHub", "path": "./get-started/customize-your-template/index.md", "children": [ { "title": "Add a programming language", "description": "Expose a new programming language through a template parameter and install it at workspace startup.", "path": "./get-started/customize-your-template/add-a-language.md" }, { "title": "Install your own command-line tools", "description": "Install your own command-line tools in a workspace and make them persist across rebuilds.", "path": "./get-started/customize-your-template/install-command-line-tools.md" }, { "title": "Clone private repositories", "description": "Clone private GitHub repositories in your workspace using a Coder external-auth data source.", "path": "./get-started/customize-your-template/authenticate-to-github.md" } ] } ] }, { "title": "Install", "description": "Install the Coder server and CLI, then choose a deployment method for your infrastructure.", "path": "./install/index.md", "icon_path": "./images/icons/download.svg", "children": [ { "title": "Coder CLI", "description": "Install the standalone Coder CLI binary on Linux, macOS, or Windows to run the server and client.", "path": "./install/cli.md", "icon_path": "./images/icons/terminal.svg" }, { "title": "Docker", "description": "Install and run Coder using the official Docker images for a quick single-machine deployment.", "path": "./install/docker.md", "icon_path": "./images/icons/docker.svg" }, { "title": "Kubernetes", "description": "Install Coder on a Kubernetes cluster using the official Helm chart for production deployments.", "path": "./install/kubernetes.md", "icon_path": "./images/icons/kubernetes.svg", "children": [ { "title": "Deploy Coder on Azure with an Application Gateway", "description": "Deploy Coder on Azure Kubernetes Service behind an Azure Application Gateway ingress controller.", "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" } ] }, { "title": "Rancher", "description": "Deploy Coder on Rancher as a Kubernetes workload using the Rancher UI and Helm.", "path": "./install/rancher.md", "icon_path": "./images/icons/rancher.svg" }, { "title": "OpenShift", "description": "Install Coder on a Red Hat OpenShift cluster using Helm, with the required security context settings.", "path": "./install/openshift.md", "icon_path": "./images/icons/openshift.svg" }, { "title": "Cloud Providers", "description": "Install guides and example templates for deploying Coder on AWS, Google Cloud, and Azure.", "path": "./install/cloud/index.md", "icon_path": "./images/icons/cloud.svg", "children": [ { "title": "AWS Marketplace", "description": "Deploy a Coder proof-of-concept on AWS using the listing available in the AWS Marketplace.", "path": "./install/cloud/aws-marketplace.md" }, { "title": "GCP Compute Engine", "description": "Deploy the Coder control plane on a Google Cloud Compute Engine virtual machine.", "path": "./install/cloud/compute-engine.md" }, { "title": "Azure VM", "description": "Set up the Coder server on a Microsoft Azure virtual machine, step by step.", "path": "./install/cloud/azure-vm.md" } ] }, { "title": "Air-gapped Deployments", "description": "Run Coder in air-gapped, disconnected, or offline environments where all features remain supported.", "path": "./install/airgap.md", "icon_path": "./images/icons/lan.svg" }, { "title": "Unofficial Install Methods", "description": "Explore community-contributed, unofficial methods for installing Coder beyond the supported paths.", "path": "./install/other/index.md", "icon_path": "./images/icons/generic.svg" }, { "title": "Upgrading", "description": "Learn how to upgrade your Coder server to a newer version, with steps for each install method.", "path": "./install/upgrade.md", "icon_path": "./images/icons/upgrade.svg", "children": [ { "title": "Upgrading Best Practices", "description": "Follow best practices and troubleshooting tips to plan and carry out Coder upgrades.", "path": "./install/upgrade-best-practices.md" } ] }, { "title": "Uninstall", "description": "Learn how to uninstall your Coder server and remove its associated resources.", "path": "./install/uninstall.md", "icon_path": "./images/icons/trash.svg" }, { "title": "Releases", "description": "Learn about Coder's release channels, versioning, and schedule so you can plan upgrades.", "path": "./install/releases/index.md", "icon_path": "./images/icons/star.svg", "children": [ { "title": "Feature stages", "description": "Understand Coder's feature stages, including early access, beta, and general availability.", "path": "./install/releases/feature-stages.md" }, { "title": "Upgrading from ESR 2.24 to 2.29", "description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.24 to 2.29.", "path": "./install/releases/esr-2.24-2.29-upgrade.md" }, { "title": "Upgrading from ESR 2.29 to 2.34", "description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.29 to 2.34.", "path": "./install/releases/esr-2.29-2.34-upgrade.md" } ] } ] }, { "title": "User Guides", "description": "Guides for Coder end users on accessing, managing, and personalizing their workspaces.", "path": "./user-guides/index.md", "icon_path": "./images/icons/users.svg", "children": [ { "title": "Access Workspaces", "description": "Connect to your Coder workspace using SSH, your IDE, a web terminal, remote desktop, and more.", "path": "./user-guides/workspace-access/index.md", "icon_path": "./images/icons/access.svg", "children": [ { "title": "Visual Studio Code", "description": "Develop in your Coder workspace remotely with VS Code, using the desktop app or the browser.", "path": "./user-guides/workspace-access/vscode.md" }, { "title": "Web Terminal", "description": "Use the browser-based web terminal to run commands in your workspace without any local setup.", "path": "./user-guides/workspace-access/web-terminal.md" }, { "title": "JetBrains IDEs", "description": "Connect JetBrains IDEs to Coder workspaces using JetBrains Toolbox or Gateway.", "path": "./user-guides/workspace-access/jetbrains/index.md", "children": [ { "title": "JetBrains Fleet", "description": "Connect JetBrains Fleet, a lightweight multi-language IDE, to a Coder workspace over SSH.", "path": "./user-guides/workspace-access/jetbrains/fleet.md" }, { "title": "JetBrains Gateway", "description": "Use JetBrains Gateway to open and work in your Coder workspace from a full JetBrains IDE.", "path": "./user-guides/workspace-access/jetbrains/gateway.md" }, { "title": "JetBrains Toolbox", "description": "Connect to and manage your Coder workspaces from the JetBrains Toolbox app.", "path": "./user-guides/workspace-access/jetbrains/toolbox.md", "state": ["beta"] } ] }, { "title": "Remote Desktop", "description": "Connect to a GUI-based desktop in your Coder workspace using RDP, including Windows workspaces.", "path": "./user-guides/workspace-access/remote-desktops.md" }, { "title": "Emacs TRAMP", "description": "Use Emacs TRAMP to edit files and run commands in your Coder workspace over SSH.", "path": "./user-guides/workspace-access/emacs-tramp.md" }, { "title": "Port Forwarding", "description": "Securely access ports and processes running inside your Coder workspace from your local machine.", "path": "./user-guides/workspace-access/port-forwarding.md" }, { "title": "Filebrowser", "description": "Upload, download, and manage files in your Coder workspace from the browser with File Browser.", "path": "./user-guides/workspace-access/filebrowser.md" }, { "title": "Web IDEs and Coder Apps", "description": "Access your Coder workspace through web-based IDEs that run in the browser, with no local install.", "path": "./user-guides/workspace-access/web-ides.md" }, { "title": "code-server", "description": "Access your Coder workspace in the browser with code-server, the VS Code experience over the web.", "path": "./user-guides/workspace-access/code-server.md" }, { "title": "Zed", "description": "Access your Coder workspace with the Zed collaborative code editor over SSH.", "path": "./user-guides/workspace-access/zed.md" }, { "title": "Cursor", "description": "Access your Coder workspace with Cursor, the AI-powered code editor, over SSH.", "path": "./user-guides/workspace-access/cursor.md" }, { "title": "Devin Desktop", "description": "Access your Coder workspace with Devin Desktop (formerly Windsurf), the AI-powered code editor, over SSH.", "path": "./user-guides/workspace-access/devin-desktop.md" }, { "title": "Antigravity", "description": "Access your Coder workspace with the Antigravity agentic code editor over SSH.", "path": "./user-guides/workspace-access/antigravity.md" } ] }, { "title": "Coder Desktop", "description": "Transform remote workspaces into seamless local development environments with no port forwarding required", "path": "./user-guides/desktop/index.md", "icon_path": "./images/icons/computer-code.svg", "children": [ { "title": "Coder Desktop Connect and Sync", "description": "Use Coder Desktop to connect to workspaces and sync their code and files to your local machine.", "path": "./user-guides/desktop/desktop-connect-sync.md" } ] }, { "title": "Workspace Management", "description": "Create, start, stop, update, and delete your Coder workspaces from the dashboard or CLI.", "path": "./user-guides/workspace-management.md", "icon_path": "./images/icons/generic.svg" }, { "title": "Workspace Sharing", "description": "Let multiple users securely connect to a single Coder workspace to program and debug together.", "path": "./user-guides/shared-workspaces.md", "icon_path": "./images/icons/generic.svg" }, { "title": "Workspace Scheduling", "description": "Control cloud costs by scheduling when your Coder workspaces automatically start and stop.", "path": "./user-guides/workspace-scheduling.md", "icon_path": "./images/icons/stopwatch.svg" }, { "title": "Workspace Lifecycle", "description": "A guide to the workspace lifecycle, from creation and status through stopping and deletion.", "path": "./user-guides/workspace-lifecycle.md", "icon_path": "./images/icons/circle-dot.svg" }, { "title": "Dev Containers", "description": "Run containerized development environments in your Coder workspace using the dev containers specification.", "path": "./user-guides/devcontainers/index.md", "icon_path": "./images/icons/container.svg", "children": [ { "title": "Working with dev containers", "description": "Access and work inside dev containers in your Coder workspace over SSH, your IDE, or the web terminal.", "path": "./user-guides/devcontainers/working-with-dev-containers.md" }, { "title": "Customizing dev containers", "description": "Configure custom agent names, apps, and display options in devcontainer.json.", "path": "./user-guides/devcontainers/customizing-dev-containers.md" }, { "title": "Troubleshooting dev containers", "description": "Diagnose and resolve common issues with dev containers in your Coder workspace.", "path": "./user-guides/devcontainers/troubleshooting-dev-containers.md" } ] }, { "title": "Dotfiles", "description": "Personalize your Coder workspaces by applying your dotfiles repository with the coder dotfiles command.", "path": "./user-guides/workspace-dotfiles.md", "icon_path": "./images/icons/art-pad.svg" }, { "title": "User secrets", "description": "Store secret values in Coder and automatically inject them into workspaces", "path": "./user-guides/user-secrets.md", "icon_path": "./images/icons/secrets.svg" } ] }, { "title": "Administration", "description": "Guides for the template and deployment administrators who configure, secure, and operate Coder.", "path": "./admin/index.md", "icon_path": "./images/icons/wrench.svg", "children": [ { "title": "Setup", "description": "Configure your Coder control plane with server settings and environment variables.", "path": "./admin/setup/index.md", "icon_path": "./images/icons/toggle_on.svg", "children": [ { "title": "Appearance", "description": "Customize your Coder deployment's appearance, including the logo, service banner, and application name.", "path": "./admin/setup/appearance.md", "state": ["premium"] }, { "title": "Configuration Reference", "description": "Searchable list of every Coder server setting with its environment variable, CLI flag, and YAML key", "path": "./admin/setup/configuration-reference.md" }, { "title": "Telemetry", "description": "Learn what usage telemetry Coder collects, why it is collected, and how to opt out.", "path": "./admin/setup/telemetry.md" }, { "title": "Chat lifecycle hooks", "description": "Configure an external policy service for chat agent lifecycle events", "path": "./admin/setup/chat-lifecycle-hooks.md", "state": ["early access"] }, { "title": "Data Retention", "description": "Configure retention policies that automatically purge old records from Coder database tables.", "path": "./admin/setup/data-retention.md" } ] }, { "title": "Infrastructure", "description": "Learn how to plan, provision, and manage the infrastructure that runs your Coder deployment.", "path": "./admin/infrastructure/index.md", "icon_path": "./images/icons/container.svg", "children": [ { "title": "Architecture", "description": "Learn about Coder's architecture and the components that make up a deployment.", "path": "./admin/infrastructure/architecture.md" }, { "title": "Validated Architectures", "description": "Coder Validated Architectures with reference designs and best practices for large deployments.", "path": "./admin/infrastructure/validated-architectures/index.md", "children": [ { "title": "Up to 1,000 Users", "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 1,000 users", "path": "./admin/infrastructure/validated-architectures/1k-users.md" }, { "title": "Up to 2,000 Users", "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 2,000 users", "path": "./admin/infrastructure/validated-architectures/2k-users.md" }, { "title": "Up to 3,000 Users", "description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 3,000 users", "path": "./admin/infrastructure/validated-architectures/3k-users.md" }, { "title": "Up to 10,000 Users", "description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 10,000 users", "path": "./admin/infrastructure/validated-architectures/10k-users.md" } ] }, { "title": "Scale Testing", "description": "Plan and run scale tests to make sure your Coder deployment can handle your organization's load.", "path": "./admin/infrastructure/scale-testing.md" }, { "title": "Scaling Utilities", "description": "Use Coder's built-in scale-testing utility to benchmark and load-test your deployment.", "path": "./admin/infrastructure/scale-utility.md" }, { "title": "Scaling best practices", "description": "Best practices for preparing and tuning a Coder deployment so it scales to many users.", "path": "./tutorials/best-practices/scale-coder.md" } ] }, { "title": "Users", "description": "Learn how to create, manage, and audit users and their access in your Coder deployment.", "path": "./admin/users/index.md", "icon_path": "./images/icons/users.svg", "children": [ { "title": "OIDC Authentication", "description": "Configure OpenID Connect authentication with identity providers like Okta or Active Directory", "path": "./admin/users/oidc-auth/index.md", "children": [ { "title": "Google", "description": "Configure Coder to authenticate users with Google using OpenID Connect (OIDC).", "path": "./admin/users/oidc-auth/google.md" }, { "title": "Microsoft", "description": "Configure Coder to authenticate users with Microsoft Entra ID using OpenID Connect (OIDC).", "path": "./admin/users/oidc-auth/microsoft.md" }, { "title": "Configure OIDC refresh tokens", "description": "Configure OIDC refresh tokens so Coder can keep user sessions active beyond token expiration.", "path": "./admin/users/oidc-auth/refresh-tokens.md" } ] }, { "title": "GitHub Authentication", "description": "Set up authentication through GitHub OAuth to enable secure user login and sign-up", "path": "./admin/users/github-auth.md" }, { "title": "Password Authentication", "description": "Manage username/password authentication settings and user password reset workflows", "path": "./admin/users/password-auth.md" }, { "title": "Headless Authentication", "description": "Create and manage headless service accounts for automated systems and API integrations", "path": "./admin/users/headless-auth.md", "state": ["premium"] }, { "title": "Groups \u0026 Roles", "description": "Manage access control with user groups and role-based permissions for Coder resources", "path": "./admin/users/groups-roles.md", "state": ["premium"] }, { "title": "IdP Sync", "description": "Synchronize user groups, roles, and organizations from your identity provider to Coder", "path": "./admin/users/idp-sync.md", "state": ["premium"] }, { "title": "Organizations", "description": "Segment and isolate resources by creating separate organizations for different teams or projects", "path": "./admin/users/organizations.md", "state": ["premium"] }, { "title": "Quotas", "description": "Control resource usage by implementing workspace budgets and credit-based cost management", "path": "./admin/users/quotas.md", "state": ["premium"] }, { "title": "Sessions \u0026 API Tokens", "description": "Manage authentication tokens for API access and configure session duration policies", "path": "./admin/users/sessions-tokens.md" } ] }, { "title": "Templates", "description": "Learn how to author, publish, and maintain the Coder templates that define your workspaces.", "path": "./admin/templates/index.md", "icon_path": "./images/icons/picture.svg", "children": [ { "title": "Creating Templates", "description": "Create a Coder template with Terraform to define the infrastructure for your workspaces.", "path": "./admin/templates/creating-templates.md" }, { "title": "Managing Templates", "description": "Learn how to edit, version, and manage Coder templates, along with recommended best practices.", "path": "./admin/templates/managing-templates/index.md", "children": [ { "title": "Image Management", "description": "Learn how to build and manage the container images that back your Coder templates.", "path": "./admin/templates/managing-templates/image-management.md" }, { "title": "Change Management", "description": "Manage Coder template changes with source control, versioning, and CI/CD publishing.", "path": "./admin/templates/managing-templates/change-management.md" }, { "title": "Envbuilder", "description": "Use Envbuilder to shift workspace environment definitions from templates into your Git repositories.", "path": "./admin/templates/managing-templates/envbuilder.md" }, { "title": "Template Dependencies", "description": "Manage provider and module dependencies in your Coder templates to keep builds reproducible.", "path": "./admin/templates/managing-templates/dependencies.md" }, { "title": "Workspace Scheduling", "description": "Configure template settings that control how workspaces autostart, autostop, and stay available.", "path": "./admin/templates/managing-templates/schedule.md" }, { "title": "External Workspaces", "description": "Connect externally managed servers and machines to Coder as external workspaces.", "path": "./admin/templates/managing-templates/external-workspaces.md", "state": ["premium", "early access"] } ] }, { "title": "Extending Templates", "description": "Extend your Coder templates with parameters, metadata, web IDEs, Docker, and more.", "path": "./admin/templates/extending-templates/index.md", "children": [ { "title": "Agent Metadata", "description": "Display real-time metrics from the workspace agent, such as CPU, memory, and disk usage.", "path": "./admin/templates/extending-templates/agent-metadata.md" }, { "title": "Build Parameters", "description": "Use build parameters to prompt users and customize each workspace when it is created.", "path": "./admin/templates/extending-templates/parameters.md" }, { "title": "Dynamic Parameters", "description": "Build conditional, identity-aware template forms with Coder's dynamic parameters.", "path": "./admin/templates/extending-templates/dynamic-parameters.md" }, { "title": "Prebuilt workspaces", "description": "Pre-provision a ready-to-deploy workspace with a defined set of parameters", "path": "./admin/templates/extending-templates/prebuilt-workspaces.md", "state": ["premium"] }, { "title": "Icons", "description": "Customize your Coder templates and resources with built-in or custom icons.", "path": "./admin/templates/extending-templates/icons.md" }, { "title": "Resource Metadata", "description": "Expose key workspace resource information to your users in the Coder dashboard with metadata.", "path": "./admin/templates/extending-templates/resource-metadata.md" }, { "title": "Resource Monitoring", "description": "Monitor workspace resource usage and alert on thresholds from the Coder dashboard.", "path": "./admin/templates/extending-templates/resource-monitoring.md" }, { "title": "Resource Ordering", "description": "Control the order that resources and parameters appear in the workspace creation UI.", "path": "./admin/templates/extending-templates/resource-ordering.md" }, { "title": "Resource Persistence", "description": "Control which workspace resources persist across restarts and which are recreated on each build.", "path": "./admin/templates/extending-templates/resource-persistence.md" }, { "title": "Environment Variables", "description": "Inject environment variables into Coder workspaces using the coder_env Terraform resource.", "path": "./admin/templates/extending-templates/environment-variables.md" }, { "title": "Terraform Variables", "description": "Use Terraform template-wide variables to parameterize and manage your Coder templates.", "path": "./admin/templates/extending-templates/variables.md" }, { "title": "Terraform Modules", "description": "Reuse Terraform code across your Coder templates with shared, versioned modules.", "path": "./admin/templates/extending-templates/modules.md" }, { "title": "Web IDEs and Coder Apps", "description": "Add and configure web IDEs in your Coder templates as coder_app resources.", "path": "./admin/templates/extending-templates/web-ides.md" }, { "title": "Pre-install JetBrains IDEs", "description": "Pre-install JetBrains IDE backends in your template for faster first-time connections.", "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" }, { "title": "JetBrains IDEs in Air-Gapped Deployments", "description": "Configure JetBrains IDEs to work in air-gapped Coder deployments without internet access.", "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" }, { "title": "Docker in Workspaces", "description": "Run Docker inside container-based Coder workspaces using several supported approaches.", "path": "./admin/templates/extending-templates/docker-in-workspaces.md" }, { "title": "Workspace Tags", "description": "Route workspace builds to specific provisioners using workspace tags and parameters.", "path": "./admin/templates/extending-templates/workspace-tags.md" }, { "title": "Provider Authentication", "description": "Authenticate the Coder server to cloud provider APIs so it can provision workspaces.", "path": "./admin/templates/extending-templates/provider-authentication.md" }, { "title": "Dev Containers", "description": "Extend your Coder templates with containerized dev container development environments.", "path": "./admin/templates/extending-templates/devcontainers.md" }, { "title": "Improving Agent Resiliency", "description": "Improve workspace agent resiliency by tuning child process CPU and out-of-memory priority.", "path": "./admin/templates/extending-templates/process-priority.md" }, { "title": "Process Logging", "description": "Log all system-level process activity inside workspaces for security and auditing.", "path": "./admin/templates/extending-templates/process-logging.md", "state": ["premium"] }, { "title": "Startup Dependencies", "description": "Coordinate workspace startup scripts with dependency management so they run in the right order.", "path": "./admin/templates/startup-coordination/index.md", "state": ["early access"], "children": [ { "title": "Usage", "description": "Declare units and dependencies with coder exp sync to coordinate your workspace startup scripts.", "path": "./admin/templates/startup-coordination/usage.md" }, { "title": "Troubleshooting", "description": "Diagnose and resolve common problems with workspace startup coordination and coder exp sync.", "path": "./admin/templates/startup-coordination/troubleshooting.md" }, { "title": "Examples", "description": "A complete, production-ready example of coordinating workspace startup scripts with sync units.", "path": "./admin/templates/startup-coordination/example.md" } ] } ] }, { "title": "Open in Coder", "description": "Add an Open in Coder button to your repositories and wikis so users can create workspaces fast.", "path": "./admin/templates/open-in-coder.md" }, { "title": "Permissions \u0026 Policies", "description": "Control which users and groups can use, edit, and administer each Coder template.", "path": "./admin/templates/template-permissions.md", "state": ["premium"] }, { "title": "Troubleshooting Templates", "description": "Troubleshoot common Coder template problems, from failed builds to misconfigured workspaces.", "path": "./admin/templates/troubleshooting.md" } ] }, { "title": "External Provisioners", "description": "Run external provisioner daemons to isolate builds and scale workspace provisioning.", "path": "./admin/provisioners/index.md", "icon_path": "./images/icons/key.svg", "state": ["premium"], "children": [ { "title": "Manage Provisioner Jobs", "description": "Monitor and manage provisioner jobs for workspace builds, including canceling stuck jobs.", "path": "./admin/provisioners/manage-provisioner-jobs.md", "state": ["premium"] } ] }, { "title": "External Authentication", "description": "Configure external authentication so workspaces can access Git providers and other OAuth services.", "path": "./admin/external-auth/index.md", "icon_path": "./images/icons/plug.svg" }, { "title": "Integrations", "description": "Extend Coder with integrations for observability, secrets, source control, and other platforms.", "path": "./admin/integrations/index.md", "icon_path": "./images/icons/puzzle.svg", "children": [ { "title": "Prometheus", "description": "Collect and export Coder deployment metrics to a Prometheus server for monitoring.", "path": "./admin/integrations/prometheus.md" }, { "title": "Kubernetes Logging", "description": "Stream Kubernetes event logs into workspace startup logs to debug pod scheduling issues.", "path": "./admin/integrations/kubernetes-logs.md" }, { "title": "Additional Kubernetes Clusters", "description": "Deploy Coder workspaces across additional Kubernetes clusters beyond the control plane cluster.", "path": "./admin/integrations/multiple-kube-clusters.md" }, { "title": "JFrog Artifactory", "description": "Integrate Coder with JFrog Artifactory to secure workspaces and manage packages and tokens.", "path": "./admin/integrations/jfrog-artifactory.md" }, { "title": "Island Secure Browser", "description": "Integrate Coder with the Island Enterprise Browser for secure, policy-controlled workspace access.", "path": "./admin/integrations/island.md" }, { "title": "DX PlatformX", "description": "Forward Coder notifications to DX PlatformX to measure and improve developer experience.", "path": "./admin/integrations/platformx.md" }, { "title": "DX Data Cloud", "description": "Tag and sync Coder users with DX Data Cloud to measure developer productivity.", "path": "./admin/integrations/dx-data-cloud.md" }, { "title": "HashiCorp Vault", "description": "Integrate Coder with HashiCorp Vault to inject secrets securely into your workspaces.", "path": "./admin/integrations/vault.md" }, { "title": "OAuth2 Provider", "description": "Use Coder as an OAuth2 authorization server so third-party apps can authenticate users.", "path": "./admin/integrations/oauth2-provider.md" }, { "title": "Dev Containers", "description": "Configure dev container support in your templates using either Docker or Envbuilder.", "path": "./admin/integrations/devcontainers/index.md", "children": [ { "title": "Dev Containers Integration", "description": "Configure a Coder template for native dev containers backed by Docker.", "path": "./admin/integrations/devcontainers/integration.md" }, { "title": "Envbuilder", "description": "Use Envbuilder to build dev containers from a repository without requiring Docker.", "path": "./admin/integrations/devcontainers/envbuilder/index.md", "children": [ { "title": "Add an Envbuilder template", "description": "Add an Envbuilder-compatible template so users can build dev containers from a repository.", "path": "./admin/integrations/devcontainers/envbuilder/add-envbuilder.md" }, { "title": "Security and caching", "description": "Configure Envbuilder registry authentication and layer caching for faster, secure builds.", "path": "./admin/integrations/devcontainers/envbuilder/envbuilder-security-caching.md" }, { "title": "Releases and known issues", "description": "Learn about Envbuilder's release channels and current known issues before you deploy it.", "path": "./admin/integrations/devcontainers/envbuilder/envbuilder-releases-known-issues.md" } ] } ] } ] }, { "title": "Networking", "description": "Understand Coder's networking model, including how workspaces, servers, and clients connect.", "path": "./admin/networking/index.md", "icon_path": "./images/icons/networking.svg", "children": [ { "title": "Port Forwarding", "description": "Learn how port forwarding works in Coder and how to expose workspace ports to users.", "path": "./admin/networking/port-forwarding.md" }, { "title": "STUN and NAT", "description": "Learn how Coder uses STUN and NAT traversal to establish direct peer-to-peer workspace connections.", "path": "./admin/networking/stun.md" }, { "title": "Workspace Proxies", "description": "Run geo-distributed workspace proxies to give distributed teams low-latency workspace access.", "path": "./admin/networking/workspace-proxies.md", "state": ["premium"] }, { "title": "High Availability", "description": "Configure Coder in high availability (HA) mode for horizontal scalability and failover.", "path": "./admin/networking/high-availability.md", "state": ["premium"] }, { "title": "Wildcard Access URL", "description": "Configure a wildcard access URL to enable port forwarding, web IDEs, and app previews.", "path": "./admin/networking/wildcard-access-url.md" }, { "title": "Troubleshooting", "description": "Diagnose and resolve Coder networking issues using coder ping and other built-in tools.", "path": "./admin/networking/troubleshooting.md" } ] }, { "title": "Monitoring", "description": "Monitor your Coder deployment with logs, metrics, health checks, and alerting best practices.", "path": "./admin/monitoring/index.md", "icon_path": "./images/icons/speed.svg", "children": [ { "title": "Logs", "description": "Learn how Coder services write logs to standard output and how to collect them.", "path": "./admin/monitoring/logs.md" }, { "title": "Metrics", "description": "Learn about the deployment metrics Coder exposes and how to use them to monitor health.", "path": "./admin/monitoring/metrics.md" }, { "title": "Health Check", "description": "Use Coder's deployment health page to monitor your control plane and its dependencies.", "path": "./admin/monitoring/health-check.md" }, { "title": "Connection Logs", "description": "Monitor SSH, app, and agent connections to your workspaces with the connection log.", "path": "./admin/monitoring/connection-logs.md", "state": ["premium"] }, { "title": "Notifications", "description": "Configure how Coder sends notifications for deployment events over email and webhooks.", "path": "./admin/monitoring/notifications/index.md", "children": [ { "title": "Slack Notifications", "description": "Set up a Slack integration to deliver Coder notifications to your channels.", "path": "./admin/monitoring/notifications/slack.md" }, { "title": "Microsoft Teams Notifications", "description": "Set up a Microsoft Teams integration to deliver Coder notifications to your channels.", "path": "./admin/monitoring/notifications/teams.md" } ] } ] }, { "title": "Security", "description": "Secure your Coder deployment with audit logs, secrets management, and database encryption.", "path": "./admin/security/index.md", "icon_path": "./images/icons/lock.svg", "children": [ { "title": "Audit Logs", "description": "Track user and administrator actions across your Coder deployment with audit logs.", "path": "./admin/security/audit-logs.md", "state": ["premium"] }, { "title": "Secrets", "description": "Learn the recommended ways to get secrets into your Coder workspaces securely.", "path": "./admin/security/secrets.md" }, { "title": "Database Encryption", "description": "Encrypt sensitive values in the Coder database to protect tokens and secrets at rest.", "path": "./admin/security/database-encryption.md", "state": ["premium"] } ] }, { "title": "Licensing", "description": "Add and manage Coder licenses to unlock Premium and AI Governance features.", "path": "./admin/licensing/index.md", "icon_path": "./images/icons/licensing.svg" } ] }, { "title": "Run AI Coding Agents in Coder", "description": "Run and manage AI coding agents like Claude Code and Codex in Coder workspaces, alongside your existing development environments.", "path": "./ai-coder/index.md", "icon_path": "./images/icons/wand.svg", "children": [ { "title": "Best Practices", "description": "Cultural and technical best practices for introducing AI coding agents into your organization.", "path": "./ai-coder/best-practices.md" }, { "title": "In the IDE", "description": "Run in-IDE AI coding assistants and agents while backing their compute with Coder workspaces.", "path": "./ai-coder/ide-agents.md" }, { "title": "Coder Agents", "description": "Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API.", "path": "./ai-coder/agents/index.md", "children": [ { "title": "Getting Started", "description": "Enable Coder Agents, prepare your deployment, and run your first Coder Agent", "path": "./ai-coder/agents/getting-started.md" }, { "title": "Architecture", "description": "Learn how the Coder Agents control-plane agent communicates with your workspaces.", "path": "./ai-coder/agents/architecture.md" }, { "title": "Platform Controls", "description": "Learn how platform teams control Coder Agents behavior, models, spend, and policies.", "path": "./ai-coder/agents/platform-controls/index.md", "children": [ { "title": "Template Optimization", "description": "Best practices for creating templates that are discoverable and useful to Coder Agents", "path": "./ai-coder/agents/platform-controls/template-optimization.md" }, { "title": "MCP Servers", "description": "Configure external MCP servers that provide additional tools for agent chat sessions", "path": "./ai-coder/agents/platform-controls/mcp-servers.md" }, { "title": "Spend management", "description": "Cap Coder Agents spend with AI Gateway budgets and track the resulting spend.", "path": "./ai-coder/agents/platform-controls/spend-management.md", "state": ["premium"] }, { "title": "Git Providers", "description": "Configure Git providers so Coder Agents can show pull request diffs in the in-chat viewer.", "path": "./ai-coder/agents/platform-controls/git-providers.md" }, { "title": "Data Retention", "description": "Configure automatic cleanup of old Coder Agents conversation data to manage database size.", "path": "./ai-coder/agents/platform-controls/chat-retention.md" }, { "title": "Debug Data Retention", "description": "Configure automatic cleanup of old Coder Agents chat debug data to manage database size.", "path": "./ai-coder/agents/platform-controls/chat-debug-retention.md" }, { "title": "Auto-Archive", "description": "Automatically archive long-inactive Coder Agents conversations to keep chat lists tidy.", "path": "./ai-coder/agents/platform-controls/chat-auto-archive.md" }, { "title": "Advisor", "description": "Provide strategic, high-level guidance to root Coder Agents chats with the Advisor.", "path": "./ai-coder/agents/platform-controls/advisor.md", "state": ["early access"] }, { "title": "Virtual desktop", "description": "Give Coder Agents a graphical virtual desktop inside workspaces for GUI-based tasks.", "path": "./ai-coder/agents/platform-controls/virtual-desktop.md", "state": ["early access"] }, { "title": "Chat debug logging", "description": "Record detailed traces of each Coder Agents chat turn to troubleshoot agent behavior.", "path": "./ai-coder/agents/platform-controls/chat-debug-logging.md", "state": ["early access"] } ] }, { "title": "Extending Agents", "description": "Extend Coder Agents with custom skills and MCP tools defined in your workspace templates.", "path": "./ai-coder/agents/extending-agents.md" }, { "title": "Models", "description": "Configure the LLM providers and models that power Coder Agents from Admin settings.", "path": "./ai-coder/agents/models.md" }, { "title": "Tools", "description": "How Coder Agents uses tool calls to select templates and create workspaces", "path": "./ai-coder/agents/tools/index.md" }, { "title": "Chat Sharing", "description": "Give other users and groups read-only access to a Coder Agents conversation with chat sharing.", "path": "./ai-coder/agents/chat-sharing.md" }, { "title": "Search Syntax", "description": "Filter Coder Agents conversations by title, status, and linked pull requests with search syntax.", "path": "./ai-coder/agents/chat-search-syntax.md" }, { "title": "Licensing \u0026 Usage", "description": "Licensing and usage details for Coder Agents.", "path": "./ai-coder/agents/licensing-usage.md" }, { "title": "Tasks to Chats API Migration", "description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.", "path": "./ai-coder/agents/tasks-to-chats-migration.md" } ] }, { "title": "AI Governance", "description": "Govern AI usage at scale with AI Governance: Agent Firewall, AI Gateway, and reporting.", "path": "./ai-coder/ai-governance.md", "state": ["premium"], "children": [ { "title": "Agent Firewall", "description": "Restrict and audit the network access of AI agents with Agent Firewall, a process-level firewall.", "path": "./ai-coder/agent-firewall/index.md", "state": ["premium"], "children": [ { "title": "NS Jail", "description": "Learn how Agent Firewall's default nsjail jail type isolates agents using Linux namespaces.", "path": "./ai-coder/agent-firewall/nsjail/index.md", "children": [ { "title": "NS Jail on Docker", "description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on Docker.", "path": "./ai-coder/agent-firewall/nsjail/docker.md" }, { "title": "NS Jail on Kubernetes", "description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on Kubernetes.", "path": "./ai-coder/agent-firewall/nsjail/k8s.md" }, { "title": "NS Jail on ECS", "description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on AWS ECS.", "path": "./ai-coder/agent-firewall/nsjail/ecs.md" } ] }, { "title": "LandJail", "description": "Learn how Agent Firewall's landjail jail type isolates agents using Landlock v4.", "path": "./ai-coder/agent-firewall/landjail.md" }, { "title": "Rules Engine", "description": "Learn how the Agent Firewall rules engine filters agent network requests with configurable rules.", "path": "./ai-coder/agent-firewall/rules-engine.md" }, { "title": "Version Compatibility", "description": "Check the Coder and Claude Code module version requirements for running Agent Firewall.", "path": "./ai-coder/agent-firewall/version.md" } ] }, { "title": "AI Gateway", "description": "Govern and observe AI coding traffic with AI Gateway.", "path": "./ai-coder/ai-gateway/index.md", "icon_path": "./images/icons/api.svg", "state": ["premium"], "children": [ { "title": "Setup", "description": "Enable and configure AI Gateway inside the Coder control plane, with no extra compute to deploy.", "path": "./ai-coder/ai-gateway/setup.md", "state": ["premium"] }, { "title": "Standalone Deployment", "description": "Deploy and operate AI Gateway as a standalone service", "path": "./ai-coder/ai-gateway/standalone.md", "state": ["premium"] }, { "title": "Authentication", "description": "Authenticate AI coding tools against AI Gateway using your Coder API token.", "path": "./ai-coder/ai-gateway/auth.md", "state": ["premium"] }, { "title": "Client Configuration", "description": "Configure your AI coding tools to route their model requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/index.md", "state": ["premium"], "children": [ { "title": "Claude Code", "description": "Configure Claude Code to route requests through AI Gateway using environment variables.", "path": "./ai-coder/ai-gateway/clients/claude-code.md", "state": ["premium"] }, { "title": "Codex", "description": "Configure the Codex CLI to route requests through AI Gateway with a custom model provider.", "path": "./ai-coder/ai-gateway/clients/codex.md", "state": ["premium"] }, { "title": "Mux", "description": "Configure Mux, the parallel coding agent tool, to route requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/mux.md", "state": ["premium"] }, { "title": "OpenCode", "description": "Configure OpenCode to route its OpenAI and Anthropic requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/opencode.md", "state": ["premium"] }, { "title": "Factory", "description": "Configure Factory's Droid agent to route its model requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/factory.md", "state": ["premium"] }, { "title": "Cline", "description": "Configure Cline to route its OpenAI and Anthropic requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/cline.md", "state": ["premium"] }, { "title": "Kilo Code", "description": "Configure Kilo Code to route its model requests through AI Gateway from the UI.", "path": "./ai-coder/ai-gateway/clients/kilo-code.md", "state": ["premium"] }, { "title": "VS Code", "description": "Configure VS Code to route its AI model requests through Coder's AI Gateway.", "path": "./ai-coder/ai-gateway/clients/vscode.md", "state": ["premium"] }, { "title": "JetBrains", "description": "Configure JetBrains AI Assistant to route model requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/jetbrains.md", "state": ["premium"] }, { "title": "Zed", "description": "Configure the Zed editor's language models to route requests through AI Gateway.", "path": "./ai-coder/ai-gateway/clients/zed.md", "state": ["premium"] }, { "title": "GitHub Copilot", "description": "Route GitHub Copilot model requests through AI Gateway using the AI Gateway Proxy.", "path": "./ai-coder/ai-gateway/clients/copilot.md", "state": ["premium"] } ] }, { "title": "MCP Tools Injection", "description": "Connect MCP servers to AI Gateway to inject tools and centrally manage what users can call.", "path": "./ai-coder/ai-gateway/mcp.md" }, { "title": "AI Gateway Proxy", "description": "Use AI Gateway Proxy to route AI tools that don't support base URL overrides through AI Gateway.", "path": "./ai-coder/ai-gateway/ai-gateway-proxy/index.md", "state": ["premium"], "children": [ { "title": "Setup", "description": "Enable and configure AI Gateway Proxy inside the Coder control plane, with no extra compute.", "path": "./ai-coder/ai-gateway/ai-gateway-proxy/setup.md", "state": ["premium"] } ] }, { "title": "Provider Configuration", "description": "Learn how AI Gateway stores, seeds, and reloads LLM provider configuration for your deployment.", "path": "./ai-coder/ai-gateway/providers.md", "state": ["premium"] }, { "title": "Auditing AI Sessions", "description": "Audit AI coding sessions and threads captured by AI Gateway for governance and review.", "path": "./ai-coder/ai-gateway/audit.md", "state": ["premium"] }, { "title": "Monitoring", "description": "Monitor AI Gateway activity, including prompts, token usage, and tool calls per request.", "path": "./ai-coder/ai-gateway/monitoring.md", "state": ["premium"] }, { "title": "AI Governance Cost Control", "description": "Configure AI Gateway budgets, enforcement, notifications, and spend reporting.", "path": "./ai-coder/ai-gateway/cost-controls.md", "state": ["premium"] }, { "title": "Reference", "description": "Technical reference for AI Gateway, including deployment topologies, version compatibility, and supported APIs.", "path": "./ai-coder/ai-gateway/reference.md", "state": ["premium"] }, { "title": "Rebranding Migration", "description": "Update configuration and references after the AI Bridge rename to AI Gateway.", "path": "./ai-coder/ai-gateway/rebranding-migration.md", "state": ["premium"] } ] }, { "title": "Usage Data Reporting", "description": "Learn what AI usage data AI Governance reports to Coder for billing and reporting.", "path": "./ai-coder/usage-data-reporting.md", "state": ["premium"] } ] }, { "title": "MCP Server", "description": "Connect external AI coding agents to Coder using its built-in Model Context Protocol server.", "path": "./ai-coder/mcp-server.md", "state": ["beta"] }, { "title": "Coder Tasks", "description": "Run and manage coding agents like Claude Code and Codex on your own infrastructure with Coder Tasks.", "path": "./ai-coder/tasks.md", "children": [ { "title": "Understanding Coder Tasks", "description": "Understand the core principles and concepts behind Coder Tasks for managing coding agents.", "path": "./ai-coder/tasks-core-principles.md" }, { "title": "Custom Agents", "description": "Run custom coding agents beyond the Coder Registry defaults with Coder Tasks.", "path": "./ai-coder/custom-agents.md" }, { "title": "Task Lifecycle", "description": "Learn how Coder Tasks pause when idle and resume on interaction, and what state is preserved.", "path": "./ai-coder/tasks-lifecycle.md" }, { "title": "Agent Compatibility", "description": "See which AI coding agents support session persistence across workspace restarts in Coder Tasks.", "path": "./ai-coder/agent-compatibility.md" }, { "title": "Tasks Migration Guide", "description": "Migrate your task templates for the Coder Tasks changes introduced in version 2.28.0.", "path": "./ai-coder/tasks-migration.md" }, { "title": "Security \u0026 Agent Firewall", "description": "Learn about security and the Agent Firewall when running AI coding agents in Coder", "path": "./ai-coder/security.md" }, { "title": "Create a GitHub to Coder Tasks Workflow", "description": "Build a workflow that triggers Coder Tasks from GitHub issues and pull requests.", "path": "./ai-coder/github-to-tasks.md" }, { "title": "Tasks to Chats API Migration", "description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.", "path": "./ai-coder/agents/tasks-to-chats-migration.md" } ] } ] }, { "title": "Tutorials", "description": "Step-by-step, employee-written guides and tutorials for deploying and administering Coder.", "path": "./tutorials/index.md", "icon_path": "./images/icons/generic.svg", "children": [ { "title": "Quickstart", "description": "Install Coder, build your first template, and launch your first workspace in this quickstart guide.", "path": "./get-started/index.md" }, { "title": "Write a Template from Scratch", "description": "Learn how to write a Coder template from scratch with Terraform, step by step.", "path": "./tutorials/template-from-scratch.md" }, { "title": "Using an External Database", "description": "Configure Coder to use an external PostgreSQL database for production deployments.", "path": "./tutorials/external-database.md" }, { "title": "Image Management", "description": "Learn how to build and manage the container images that back your Coder templates.", "path": "./admin/templates/managing-templates/image-management.md" }, { "title": "Configuring Okta", "description": "Configure custom Okta claims and scopes to drive Coder group and role sync.", "path": "./tutorials/configuring-okta.md" }, { "title": "Persistent Shared Workspaces", "description": "Set up long-lived shared workspaces with service accounts and workspace sharing", "path": "./tutorials/persistent-shared-workspaces.md", "state": ["premium"] }, { "title": "Google to AWS Federation", "description": "Federate a Google Cloud service account to AWS so Coder can authenticate across clouds.", "path": "./tutorials/gcp-to-aws.md" }, { "title": "JFrog Artifactory Integration", "description": "Integrate Coder with JFrog Artifactory to secure workspaces and manage packages and tokens.", "path": "./admin/integrations/jfrog-artifactory.md" }, { "title": "Mirror Coder Registry with Artifactory", "description": "Use JFrog Artifactory to mirror the Coder Registry for air-gapped deployments", "path": "./install/registry-mirror-artifactory.md" }, { "title": "Istio Integration", "description": "Use the Istio service mesh to secure and control your Coder workspace traffic.", "path": "./admin/integrations/istio.md" }, { "title": "Island Secure Browser Integration", "description": "Integrate Coder with the Island Enterprise Browser for secure, policy-controlled workspace access.", "path": "./admin/integrations/island.md" }, { "title": "Template ImagePullSecrets", "description": "Create Kubernetes ImagePullSecrets so Coder workspaces can pull images from private registries.", "path": "./tutorials/image-pull-secret.md" }, { "title": "Postgres SSL", "description": "Configure Coder to connect to a PostgreSQL database over an encrypted SSL connection.", "path": "./tutorials/postgres-ssl.md" }, { "title": "Azure Federation", "description": "Federate Coder's control plane to Azure so it can authenticate to Azure services.", "path": "./tutorials/azure-federation.md" }, { "title": "Deploy Coder on Azure with an Application Gateway", "description": "Deploy Coder on Azure Kubernetes Service behind an Azure Application Gateway ingress controller.", "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" }, { "title": "Cloning Git Repositories", "description": "Learn how to automatically clone Git repositories into your Coder workspaces on startup.", "path": "./tutorials/cloning-git-repositories.md" }, { "title": "Test Templates Through CI/CD", "description": "Test and publish your Coder templates automatically through a CI/CD pipeline.", "path": "./tutorials/testing-templates.md" }, { "title": "Use Apache as a Reverse Proxy", "description": "Configure Apache as a reverse proxy for Coder, with TLS certificates from Let's Encrypt.", "path": "./tutorials/reverse-proxy-apache.md" }, { "title": "Use Caddy as a Reverse Proxy", "description": "Configure Caddy as a reverse proxy for Coder, with automatic HTTPS certificates.", "path": "./tutorials/reverse-proxy-caddy.md" }, { "title": "Use NGINX as a Reverse Proxy", "description": "Configure NGINX as a reverse proxy for Coder, with TLS certificates from Let's Encrypt.", "path": "./tutorials/reverse-proxy-nginx.md" }, { "title": "Pre-install JetBrains IDEs in Workspaces", "description": "Pre-install JetBrains IDE backends in your template for faster first-time connections.", "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" }, { "title": "Use JetBrains IDEs in Air-Gapped Deployments", "description": "Configure JetBrains IDEs to work in air-gapped Coder deployments without internet access.", "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" }, { "title": "FAQs", "description": "Answers to frequently asked questions about Coder OSS and licensed deployments.", "path": "./tutorials/faqs.md" }, { "title": "Best practices", "description": "Best-practice guides to help you get the most out of your Coder deployment.", "path": "./tutorials/best-practices/index.md", "children": [ { "title": "Organizations - best practices", "description": "Best practices for structuring and using Coder organizations effectively.", "path": "./tutorials/best-practices/organizations.md" }, { "title": "Scale Coder", "description": "Best practices for preparing and tuning a Coder deployment so it scales to many users.", "path": "./tutorials/best-practices/scale-coder.md" }, { "title": "Security - best practices", "description": "Follow security best practices to harden your Coder deployment against common risks.", "path": "./tutorials/best-practices/security-best-practices.md" }, { "title": "Speed up your workspaces", "description": "Speed up Coder template builds and workspace startup with practical optimizations.", "path": "./tutorials/best-practices/speed-up-templates.md" } ] } ] }, { "title": "Reference", "description": "Reference for automating Coder through the REST API, command-line interface, and Agent API.", "path": "./reference/index.md", "icon_path": "./images/icons/notes.svg", "children": [ { "title": "Glossary", "description": "Definitions of Coder terms and product names", "path": "./reference/glossary.md" }, { "title": "REST API", "description": "Reference for the Coder REST API, including endpoints, authentication, and schemas.", "path": "./reference/api/index.md", "icon_path": "./images/icons/api.svg", "children": [ { "title": "General", "path": "./reference/api/general.md" }, { "title": "AI Gateway", "path": "./reference/api/aigateway.md" }, { "title": "AI Providers", "path": "./reference/api/aiproviders.md" }, { "title": "Agents", "description": "REST endpoints for the workspace agent daemon (`coder_agent`).", "path": "./reference/api/agents.md" }, { "title": "Applications", "path": "./reference/api/applications.md" }, { "title": "Audit", "path": "./reference/api/audit.md" }, { "title": "Authentication", "path": "./reference/api/authentication.md" }, { "title": "Authorization", "path": "./reference/api/authorization.md" }, { "title": "Builds", "path": "./reference/api/builds.md" }, { "title": "Chats", "description": "REST endpoints for Coder Agents Chats API (programmatic agent sessions).", "path": "./reference/api/chats.md", "state": ["early access"] }, { "title": "Debug", "path": "./reference/api/debug.md" }, { "title": "Enterprise", "path": "./reference/api/enterprise.md" }, { "title": "Files", "path": "./reference/api/files.md" }, { "title": "Git", "path": "./reference/api/git.md" }, { "title": "InitScript", "path": "./reference/api/initscript.md" }, { "title": "Insights", "path": "./reference/api/insights.md" }, { "title": "Members", "path": "./reference/api/members.md" }, { "title": "Notifications", "path": "./reference/api/notifications.md" }, { "title": "Organizations", "path": "./reference/api/organizations.md" }, { "title": "PortSharing", "path": "./reference/api/portsharing.md" }, { "title": "Prebuilds", "path": "./reference/api/prebuilds.md" }, { "title": "Provisioning", "path": "./reference/api/provisioning.md" }, { "title": "Schemas", "path": "./reference/api/schemas.md" }, { "title": "Secrets", "path": "./reference/api/secrets.md" }, { "title": "Tasks", "path": "./reference/api/tasks.md" }, { "title": "TemplateBuilder", "path": "./reference/api/templatebuilder.md" }, { "title": "Templates", "path": "./reference/api/templates.md" }, { "title": "Users", "path": "./reference/api/users.md" }, { "title": "WorkspaceProxies", "path": "./reference/api/workspaceproxies.md" }, { "title": "Workspaces", "path": "./reference/api/workspaces.md" } ] }, { "title": "Command Line", "description": "Reference for the Coder command-line interface, with usage and flags for every command.", "path": "./reference/cli/index.md", "icon_path": "./images/icons/terminal.svg", "children": [ { "title": "autoupdate", "description": "Toggle auto-update policy for a workspace", "path": "reference/cli/autoupdate.md" }, { "title": "agent-firewall", "description": "Network isolation tool for monitoring and restricting HTTP/HTTPS requests", "path": "reference/cli/agent-firewall.md" }, { "title": "coder", "path": "reference/cli/index.md" }, { "title": "completion", "description": "Install or update shell completion scripts for the detected or chosen shell.", "path": "reference/cli/completion.md" }, { "title": "config-ssh", "description": "Add an SSH Host entry for your workspaces \"ssh workspace.coder\"", "path": "reference/cli/config-ssh.md" }, { "title": "create", "description": "Create a workspace", "path": "reference/cli/create.md" }, { "title": "delete", "description": "Delete a workspace", "path": "reference/cli/delete.md" }, { "title": "dotfiles", "description": "Personalize your workspace by applying a canonical dotfiles repository", "path": "reference/cli/dotfiles.md" }, { "title": "external-auth", "description": "Manage external authentication", "path": "reference/cli/external-auth.md" }, { "title": "external-auth access-token", "description": "Print auth for an external provider", "path": "reference/cli/external-auth_access-token.md" }, { "title": "external-workspaces", "description": "Create or manage external workspaces", "path": "reference/cli/external-workspaces.md" }, { "title": "external-workspaces agent-instructions", "description": "Get the instructions for an external agent", "path": "reference/cli/external-workspaces_agent-instructions.md" }, { "title": "external-workspaces create", "description": "Create a new external workspace", "path": "reference/cli/external-workspaces_create.md" }, { "title": "external-workspaces list", "description": "List external workspaces", "path": "reference/cli/external-workspaces_list.md" }, { "title": "favorite", "description": "Add a workspace to your favorites", "path": "reference/cli/favorite.md" }, { "title": "features", "description": "List Enterprise features", "path": "reference/cli/features.md" }, { "title": "features list", "path": "reference/cli/features_list.md" }, { "title": "groups", "description": "Manage groups", "path": "reference/cli/groups.md" }, { "title": "groups create", "description": "Create a user group", "path": "reference/cli/groups_create.md" }, { "title": "groups delete", "description": "Delete a user group", "path": "reference/cli/groups_delete.md" }, { "title": "groups edit", "description": "Edit a user group", "path": "reference/cli/groups_edit.md" }, { "title": "groups list", "description": "List user groups", "path": "reference/cli/groups_list.md" }, { "title": "licenses", "description": "Add, delete, and list licenses", "path": "reference/cli/licenses.md" }, { "title": "licenses add", "description": "Add license to Coder deployment", "path": "reference/cli/licenses_add.md" }, { "title": "licenses delete", "description": "Delete license by ID", "path": "reference/cli/licenses_delete.md" }, { "title": "licenses list", "description": "List licenses (including expired)", "path": "reference/cli/licenses_list.md" }, { "title": "list", "description": "List workspaces", "path": "reference/cli/list.md" }, { "title": "login", "description": "Authenticate with Coder deployment", "path": "reference/cli/login.md" }, { "title": "login token", "description": "Print the current session token", "path": "reference/cli/login_token.md" }, { "title": "logout", "description": "Unauthenticate your local session", "path": "reference/cli/logout.md" }, { "title": "logs", "description": "View logs for a workspace", "path": "reference/cli/logs.md" }, { "title": "netcheck", "description": "Print network debug information for DERP and STUN", "path": "reference/cli/netcheck.md" }, { "title": "notifications", "description": "Manage Coder notifications", "path": "reference/cli/notifications.md" }, { "title": "notifications custom", "description": "Send a custom notification", "path": "reference/cli/notifications_custom.md" }, { "title": "notifications pause", "description": "Pause notifications", "path": "reference/cli/notifications_pause.md" }, { "title": "notifications resume", "description": "Resume notifications", "path": "reference/cli/notifications_resume.md" }, { "title": "notifications test", "description": "Send a test notification", "path": "reference/cli/notifications_test.md" }, { "title": "oauth2-provider", "description": "Manage Coder OAuth2 provider settings", "path": "reference/cli/oauth2-provider.md" }, { "title": "oauth2-provider dcr", "description": "Manage OAuth2 dynamic client registration (RFC 7591)", "path": "reference/cli/oauth2-provider_dcr.md" }, { "title": "oauth2-provider dcr enable", "description": "Enable OAuth2 dynamic client registration", "path": "reference/cli/oauth2-provider_dcr_enable.md" }, { "title": "oauth2-provider dcr disable", "description": "Disable OAuth2 dynamic client registration", "path": "reference/cli/oauth2-provider_dcr_disable.md" }, { "title": "open", "description": "Open a workspace", "path": "reference/cli/open.md" }, { "title": "open app", "description": "Open a workspace application.", "path": "reference/cli/open_app.md" }, { "title": "open vscode", "description": "Open a workspace in VS Code Desktop", "path": "reference/cli/open_vscode.md" }, { "title": "organizations", "description": "Organization related commands", "path": "reference/cli/organizations.md" }, { "title": "organizations create", "description": "Create a new organization.", "path": "reference/cli/organizations_create.md" }, { "title": "organizations delete", "description": "Delete an organization", "path": "reference/cli/organizations_delete.md" }, { "title": "organizations list", "description": "List all organizations", "path": "reference/cli/organizations_list.md" }, { "title": "organizations members", "description": "Manage organization members", "path": "reference/cli/organizations_members.md" }, { "title": "organizations members add", "description": "Add a new member to the current organization", "path": "reference/cli/organizations_members_add.md" }, { "title": "organizations members edit-roles", "description": "Edit organization member's roles", "path": "reference/cli/organizations_members_edit-roles.md" }, { "title": "organizations members list", "description": "List all organization members", "path": "reference/cli/organizations_members_list.md" }, { "title": "organizations members remove", "description": "Remove a new member to the current organization", "path": "reference/cli/organizations_members_remove.md" }, { "title": "organizations roles", "description": "Manage organization roles.", "path": "reference/cli/organizations_roles.md" }, { "title": "organizations roles create", "description": "Create a new organization custom role", "path": "reference/cli/organizations_roles_create.md" }, { "title": "organizations roles show", "description": "Show role(s)", "path": "reference/cli/organizations_roles_show.md" }, { "title": "organizations roles update", "description": "Update an organization custom role", "path": "reference/cli/organizations_roles_update.md" }, { "title": "organizations settings", "description": "Manage organization settings.", "path": "reference/cli/organizations_settings.md" }, { "title": "organizations settings set", "description": "Update specified organization setting.", "path": "reference/cli/organizations_settings_set.md" }, { "title": "organizations settings set group-sync", "description": "Group sync settings to sync groups from an IdP.", "path": "reference/cli/organizations_settings_set_group-sync.md" }, { "title": "organizations settings set organization-sync", "description": "Organization sync settings to sync organization memberships from an IdP.", "path": "reference/cli/organizations_settings_set_organization-sync.md" }, { "title": "organizations settings set role-sync", "description": "Role sync settings to sync organization roles from an IdP.", "path": "reference/cli/organizations_settings_set_role-sync.md" }, { "title": "organizations settings set workspace-sharing", "description": "Workspace sharing settings for the organization.", "path": "reference/cli/organizations_settings_set_workspace-sharing.md" }, { "title": "organizations settings show", "description": "Outputs specified organization setting.", "path": "reference/cli/organizations_settings_show.md" }, { "title": "organizations settings show group-sync", "description": "Group sync settings to sync groups from an IdP.", "path": "reference/cli/organizations_settings_show_group-sync.md" }, { "title": "organizations settings show organization-sync", "description": "Organization sync settings to sync organization memberships from an IdP.", "path": "reference/cli/organizations_settings_show_organization-sync.md" }, { "title": "organizations settings show role-sync", "description": "Role sync settings to sync organization roles from an IdP.", "path": "reference/cli/organizations_settings_show_role-sync.md" }, { "title": "organizations settings show workspace-sharing", "description": "Workspace sharing settings for the organization.", "path": "reference/cli/organizations_settings_show_workspace-sharing.md" }, { "title": "organizations show", "description": "Show the organization. Using \"selected\" will show the selected organization from the \"--org\" flag. Using \"me\" will show all organizations you are a member of.", "path": "reference/cli/organizations_show.md" }, { "title": "ping", "description": "Ping a workspace", "path": "reference/cli/ping.md" }, { "title": "port-forward", "description": "Forward ports from a workspace to the local machine. For reverse port forwarding, use \"coder ssh -R\".", "path": "reference/cli/port-forward.md" }, { "title": "prebuilds", "description": "Manage Coder prebuilds", "path": "reference/cli/prebuilds.md" }, { "title": "prebuilds pause", "description": "Pause prebuilds", "path": "reference/cli/prebuilds_pause.md" }, { "title": "prebuilds resume", "description": "Resume prebuilds", "path": "reference/cli/prebuilds_resume.md" }, { "title": "provisioner", "description": "View and manage provisioner daemons and jobs", "path": "reference/cli/provisioner.md" }, { "title": "provisioner jobs", "description": "View and manage provisioner jobs", "path": "reference/cli/provisioner_jobs.md" }, { "title": "provisioner jobs cancel", "description": "Cancel a provisioner job", "path": "reference/cli/provisioner_jobs_cancel.md" }, { "title": "provisioner jobs list", "description": "List provisioner jobs", "path": "reference/cli/provisioner_jobs_list.md" }, { "title": "provisioner keys", "description": "Manage provisioner keys", "path": "reference/cli/provisioner_keys.md" }, { "title": "provisioner keys create", "description": "Create a new provisioner key", "path": "reference/cli/provisioner_keys_create.md" }, { "title": "provisioner keys delete", "description": "Delete a provisioner key", "path": "reference/cli/provisioner_keys_delete.md" }, { "title": "provisioner keys list", "description": "List provisioner keys in an organization", "path": "reference/cli/provisioner_keys_list.md" }, { "title": "provisioner list", "description": "List provisioner daemons in an organization", "path": "reference/cli/provisioner_list.md" }, { "title": "provisioner start", "description": "Run a provisioner daemon", "path": "reference/cli/provisioner_start.md" }, { "title": "publickey", "description": "Output your Coder public key used for Git operations", "path": "reference/cli/publickey.md" }, { "title": "rename", "description": "Rename a workspace", "path": "reference/cli/rename.md" }, { "title": "reset-password", "description": "Directly connect to the database to reset a user's password", "path": "reference/cli/reset-password.md" }, { "title": "restart", "description": "Restart a workspace", "path": "reference/cli/restart.md" }, { "title": "schedule", "description": "Schedule automated start and stop times for workspaces", "path": "reference/cli/schedule.md" }, { "title": "schedule extend", "description": "Extend the stop time of a currently running workspace instance.", "path": "reference/cli/schedule_extend.md" }, { "title": "schedule show", "description": "Show workspace schedules", "path": "reference/cli/schedule_show.md" }, { "title": "schedule start", "description": "Edit workspace start schedule", "path": "reference/cli/schedule_start.md" }, { "title": "schedule stop", "description": "Edit workspace stop schedule", "path": "reference/cli/schedule_stop.md" }, { "title": "secret", "description": "Manage secrets", "path": "reference/cli/secret.md" }, { "title": "secret create", "description": "Create a secret", "path": "reference/cli/secret_create.md" }, { "title": "secret update", "description": "Update a secret", "path": "reference/cli/secret_update.md" }, { "title": "secret import", "description": "Import secrets from a file", "path": "reference/cli/secret_import.md" }, { "title": "secret list", "description": "List secrets, or show one by name", "path": "reference/cli/secret_list.md" }, { "title": "secret delete", "description": "Delete a secret", "path": "reference/cli/secret_delete.md" }, { "title": "server", "description": "Start a Coder server", "path": "reference/cli/server.md" }, { "title": "server create-admin-user", "description": "Create a new admin user with the given username, email and password and adds it to every organization.", "path": "reference/cli/server_create-admin-user.md" }, { "title": "server dbcrypt", "description": "Manage database encryption.", "path": "reference/cli/server_dbcrypt.md" }, { "title": "server dbcrypt decrypt", "description": "Decrypt a previously encrypted database.", "path": "reference/cli/server_dbcrypt_decrypt.md" }, { "title": "server dbcrypt delete", "description": "Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.", "path": "reference/cli/server_dbcrypt_delete.md" }, { "title": "server dbcrypt rotate", "description": "Rotate database encryption keys.", "path": "reference/cli/server_dbcrypt_rotate.md" }, { "title": "server postgres-builtin-serve", "description": "Run the built-in PostgreSQL deployment.", "path": "reference/cli/server_postgres-builtin-serve.md" }, { "title": "server postgres-builtin-url", "description": "Output the connection URL for the built-in PostgreSQL deployment.", "path": "reference/cli/server_postgres-builtin-url.md" }, { "title": "show", "description": "Display details of a workspace's resources and agents", "path": "reference/cli/show.md" }, { "title": "speedtest", "description": "Run upload and download tests from your machine to a workspace", "path": "reference/cli/speedtest.md" }, { "title": "ssh", "description": "Start a shell into a workspace or run a command", "path": "reference/cli/ssh.md" }, { "title": "start", "description": "Start a workspace", "path": "reference/cli/start.md" }, { "title": "stat", "description": "Show resource usage for the current workspace.", "path": "reference/cli/stat.md" }, { "title": "stat cpu", "description": "Show CPU usage, in cores.", "path": "reference/cli/stat_cpu.md" }, { "title": "stat disk", "description": "Show disk usage, in gigabytes.", "path": "reference/cli/stat_disk.md" }, { "title": "stat mem", "description": "Show memory usage, in gigabytes.", "path": "reference/cli/stat_mem.md" }, { "title": "state", "description": "Manually manage Terraform state to fix broken workspaces", "path": "reference/cli/state.md" }, { "title": "state pull", "description": "Pull a Terraform state file from a workspace.", "path": "reference/cli/state_pull.md" }, { "title": "state push", "description": "Push a Terraform state file to a workspace.", "path": "reference/cli/state_push.md" }, { "title": "stop", "description": "Stop a workspace", "path": "reference/cli/stop.md" }, { "title": "support", "description": "Commands for troubleshooting issues with a Coder deployment.", "path": "reference/cli/support.md" }, { "title": "support bundle", "description": "Generate a support bundle to troubleshoot issues connecting to a workspace.", "path": "reference/cli/support_bundle.md" }, { "title": "task", "description": "Manage tasks", "path": "reference/cli/task.md" }, { "title": "task create", "description": "Create a task", "path": "reference/cli/task_create.md" }, { "title": "task delete", "description": "Delete tasks", "path": "reference/cli/task_delete.md" }, { "title": "task list", "description": "List tasks", "path": "reference/cli/task_list.md" }, { "title": "task logs", "description": "Show a task's logs", "path": "reference/cli/task_logs.md" }, { "title": "task pause", "description": "Pause a task", "path": "reference/cli/task_pause.md" }, { "title": "task resume", "description": "Resume a task", "path": "reference/cli/task_resume.md" }, { "title": "task send", "description": "Send input to a task", "path": "reference/cli/task_send.md" }, { "title": "task status", "description": "Show the status of a task.", "path": "reference/cli/task_status.md" }, { "title": "templates", "description": "Manage templates", "path": "reference/cli/templates.md" }, { "title": "templates archive", "description": "Archive unused or failed template versions from a given template(s)", "path": "reference/cli/templates_archive.md" }, { "title": "templates create", "description": "DEPRECATED: Create a template from the current directory or as specified by flag", "path": "reference/cli/templates_create.md" }, { "title": "templates delete", "description": "Delete templates", "path": "reference/cli/templates_delete.md" }, { "title": "templates edit", "description": "Edit the metadata of a template by name.", "path": "reference/cli/templates_edit.md" }, { "title": "templates init", "description": "Get started with a templated template.", "path": "reference/cli/templates_init.md" }, { "title": "templates list", "description": "List all the templates available for the organization", "path": "reference/cli/templates_list.md" }, { "title": "templates presets", "description": "Manage presets of the specified template", "path": "reference/cli/templates_presets.md" }, { "title": "templates presets list", "description": "List all presets of the specified template. Defaults to the active template version.", "path": "reference/cli/templates_presets_list.md" }, { "title": "templates pull", "description": "Download the active, latest, or specified version of a template to a path.", "path": "reference/cli/templates_pull.md" }, { "title": "templates push", "description": "Create or update a template from the current directory or as specified by flag", "path": "reference/cli/templates_push.md" }, { "title": "templates versions", "description": "Manage different versions of the specified template", "path": "reference/cli/templates_versions.md" }, { "title": "templates versions archive", "description": "Archive a template version(s).", "path": "reference/cli/templates_versions_archive.md" }, { "title": "templates versions list", "description": "List all the versions of the specified template", "path": "reference/cli/templates_versions_list.md" }, { "title": "templates versions promote", "description": "Promote a template version to active.", "path": "reference/cli/templates_versions_promote.md" }, { "title": "templates versions unarchive", "description": "Unarchive a template version(s).", "path": "reference/cli/templates_versions_unarchive.md" }, { "title": "tokens", "description": "Manage personal access tokens", "path": "reference/cli/tokens.md" }, { "title": "tokens create", "description": "Create a token", "path": "reference/cli/tokens_create.md" }, { "title": "tokens list", "description": "List tokens", "path": "reference/cli/tokens_list.md" }, { "title": "tokens remove", "description": "Expire or delete a token", "path": "reference/cli/tokens_remove.md" }, { "title": "tokens view", "description": "Display detailed information about a token", "path": "reference/cli/tokens_view.md" }, { "title": "unfavorite", "description": "Remove a workspace from your favorites", "path": "reference/cli/unfavorite.md" }, { "title": "update", "description": "Will update and start a given workspace if it is out of date. If the workspace is already running, it will be stopped first.", "path": "reference/cli/update.md" }, { "title": "users", "description": "Manage users", "path": "reference/cli/users.md" }, { "title": "users activate", "description": "Update a user's status to 'active'. Active users can fully interact with the platform", "path": "reference/cli/users_activate.md" }, { "title": "users create", "description": "Create a new user.", "path": "reference/cli/users_create.md" }, { "title": "users delete", "description": "Delete a user by username or user_id.", "path": "reference/cli/users_delete.md" }, { "title": "users edit-roles", "description": "Edit a user's roles by username or id", "path": "reference/cli/users_edit-roles.md" }, { "title": "users list", "description": "Prints the list of users.", "path": "reference/cli/users_list.md" }, { "title": "users oidc-claims", "description": "Display the OIDC claims for the authenticated user.", "path": "reference/cli/users_oidc-claims.md" }, { "title": "users show", "description": "Show a single user. Use 'me' to indicate the currently authenticated user.", "path": "reference/cli/users_show.md" }, { "title": "users suspend", "description": "Update a user's status to 'suspended'. A suspended user cannot log into the platform", "path": "reference/cli/users_suspend.md" }, { "title": "version", "description": "Show coder version", "path": "reference/cli/version.md" }, { "title": "whoami", "description": "Fetch authenticated user info for Coder deployment", "path": "reference/cli/whoami.md" } ] }, { "title": "Agent API", "description": "Reference for the Coder Agent API used by workspace agents to communicate with the server.", "path": "./reference/agent-api/index.md", "icon_path": "./images/icons/api.svg", "children": [ { "title": "Debug", "path": "./reference/agent-api/debug.md" }, { "title": "Schemas", "path": "./reference/agent-api/schemas.md" } ] } ] } ] }