Skip to main content
Preview: AI Builder Portal is in preview. Features may change as the product evolves.

Overview

A blueprint is a pre-configured workspace template. When a builder clicks “Create” in the AI Builder Portal, they are creating a private copy of a blueprint - pre-loaded with the right tools, the right database connections, and the right credentials for their role. They don’t configure anything. They just pick a template and start building. From a technical perspective, each blueprint maps to a Qovery project and environment. When a builder creates a workspace, the system clones that environment into a new Qovery project scoped to that builder. The blueprint is the master template; each workspace is an isolated copy. As an admin, you decide what each blueprint contains, who can access it, and what it can connect to. This is where governance happens - invisibly to the builder, but completely under your control. The blueprint itself is a standard Qovery environment, managed through the Qovery Console, CLI, or Terraform as usual.

Registering a Blueprint

1

Open the Admin Panel

Navigate to Admin > Blueprints in the AI Builder Portal.
2

Click Register

Click the Register Blueprint button to open the registration form.
3

Select the Qovery Project

Choose the Qovery project that contains your template environment. This project must already exist in your Qovery organization.
4

Choose the Environment

Select the specific environment within the project to use as the blueprint source. This is the environment that will be cloned when builders create workspaces.
If the selected project contains multiple environments, a dropdown appears to let you choose which environment to use as the blueprint source.
5

Set Display Name

Enter a display name that builders will see in the workspace catalog. Use a clear, descriptive name like “Full-Stack Starter” or “Python Data Science”.
6

Save

Click Register to add the blueprint. It will immediately appear in the catalog for users who have access.

Blueprint Requirements

A good blueprint environment should include everything a builder needs to be productive from the moment their workspace is ready. Required:
  • At least one service or container (typically a workspace image with an IDE like VS Code Server)
Recommended:
  • Development tools pre-installed - Claude Code, OpenCode, Git, language runtimes (Node.js, Python, etc.)
  • Environment variables configured - API keys, database credentials, service URLs
  • Databases and backing services - PostgreSQL, Redis, or any other services your builders need
  • TTL auto-stop job - A lifecycle job that automatically stops idle environments to save costs
Start with a lean blueprint that covers the basics. You can always iterate and add more tools or services based on builder feedback.

Updating a Blueprint

Changes you make to the source Qovery project and environment (adding services, updating environment variables, changing container images) are reflected in new workspaces created from the blueprint.
Existing workspaces are not automatically updated when the blueprint changes. Builders keep working on their current environment until an action is taken.
To apply updates to existing workspaces:
  • Image updates - Admins or builders can restart a workspace to pull the latest container image.
  • Structural changes - If the blueprint structure has changed significantly (new services added, environment variables renamed), you may need to use the Upgrade action from the workspace management page to redeploy with the latest blueprint configuration.

Removing a Blueprint

To unregister a blueprint, navigate to Admin > Blueprints, select the blueprint, and click Remove.
Removing a blueprint does not delete existing workspaces created from it. Those workspaces continue to run normally. However, no new workspaces can be created from the removed blueprint.
If you want to permanently clean up, delete the associated workspaces from the workspace management page before or after removing the blueprint.

Create Blueprint from Template

Instead of registering an existing Qovery environment as a blueprint, you can create a new blueprint directly from a pre-built template - no pre-existing environment required.
1

Open the Template Gallery

Navigate to Admin > Blueprints, click the dropdown arrow next to the Register Blueprint button, and select Create from Template.
2

Pick a Template

Browse the template gallery organized by persona category:

Developers

Full-stack, frontend, and backend starter templates.

Data

Data science and analytics templates.

Marketing

Campaign tools and content management templates.

Sales

CRM tools and pipeline reporting templates.

Finance

Financial analysis and reporting templates.

Other

General-purpose templates.
Select the template that best fits your use case.
3

Configure the Blueprint

Fill in the configuration form:
  • Blueprint name - Display name shown to builders in the catalog
  • Target cluster - The Kubernetes cluster where workspaces will run
  • Resource allocation - CPU, RAM, and storage limits for the workspace
  • Docker image repository - Container registry and image for the workspace
  • Project repository URL (optional) - Git repository to auto-clone into new workspaces
4

Create

Click Create. The portal provisions the Qovery project and environment automatically. The new blueprint appears in the catalog once provisioning is complete.
Use templates when you want a quick starting point without manually setting up Qovery projects and environments first. You can always customize the resulting blueprint environment in the Qovery Console after creation.

Blueprint Lifecycle

Each blueprint has an admin state that controls its visibility and availability in the catalog. To change a blueprint’s state, open the blueprint detail page and use the state action buttons (Enable, Disable, Set Testing).
When a blueprint is in Testing state, it appears in the catalog with a “Coming Soon” badge. Only admins can launch test sessions from it - builders see the badge but cannot create workspaces.

Primary Service

By default, the portal connects terminal sessions and live preview to the first service in the blueprint environment. If your blueprint has multiple services, you can specify which service is the primary service - the one used for shell connections and preview. Navigate to Admin > Blueprints > [Blueprint] > General and select the primary service from the dropdown. The dropdown lists all services in the blueprint’s Qovery environment.
Set the primary service to the container running your IDE (e.g., code-server) so that terminal sessions and live preview connect to the right service automatically.

Workspace Project Mode

Choose how the portal organizes Qovery projects when builders create workspaces: Configure this in Admin > Blueprints > [Blueprint] > General.
Use shared mode when you want to reduce the number of Qovery projects in your organization. Use dedicated mode (default) when workspace isolation is a priority.

Naming Templates

Customize how workspace projects and environments are named in Qovery using template variables: For example, a template of rde-{user}-{blueprint} for a user alice@company.com creating from “Frontend Starter” would produce rde-alice-frontend-starter.
Names are automatically sanitized to be Qovery-compatible (lowercase, alphanumeric, hyphens only).
Configure naming templates in Admin > Blueprints > [Blueprint] > General.

Target Cluster

If your organization has multiple Kubernetes clusters, you can specify which cluster should be used for workspaces created from a specific blueprint. Navigate to Admin > Blueprints > [Blueprint] > General and select the target cluster from the dropdown. If no cluster is specified, the portal uses the default cluster. This is useful for:
  • Data residency - Route workspaces to clusters in specific regions
  • Resource isolation - Separate development workloads across clusters
  • Specialized hardware - Use different node types or GPU-enabled clusters for specific blueprint use cases

Managing Blueprints with Terraform

Since blueprints are standard Qovery projects and environments, you can define and manage them entirely with the Qovery Terraform Provider. This lets you version-control your blueprint infrastructure, automate provisioning, and ensure consistency across environments.

Example: Blueprint with the Official Workspace Template

Using Terraform is especially useful when managing multiple blueprints, enforcing consistent configuration across environments, or automating blueprint updates as part of a CI/CD pipeline.

Terraform Provider Overview

Get started with the Qovery Terraform Provider.

Provider Registry

Complete resource reference on the Terraform Registry.

Official Workspace Template

Qovery provides an official workspace template image you can use as the base container for your blueprints. It is designed for both technical and non-technical builders and comes pre-configured with everything needed for a productive development environment.
Source code and documentation: github.com/Qovery/remote-dev-env-template

What’s Included

code-server

VS Code running in the browser with a clean, builder-friendly UI. Dark theme, minimal distractions, Claude Code sidebar open by default.

AI Assistants

Claude Code (VS Code sidebar + CLI) and OpenCode (web chat UI) are pre-installed and pre-configured with builder-friendly AI skills.

Language Runtimes

Node.js 22, Python 3, Ruby + Bundler, and Go - ready to use out of the box for a wide range of project types.

Dev CLIs

GitHub CLI, Qovery CLI, and Git are pre-installed. Builders can push code, create PRs, and deploy without leaving the workspace.

Auto Dev Server

Automatically detects your project type and starts the right dev server - no manual configuration needed.

Live Preview

Built-in VS Code Live Preview extension for viewing your application directly in the editor.

Using the Template

To use this template as your blueprint’s workspace container:
  1. Create a Qovery project and environment for your blueprint
  2. Add a container service using the image from the template repository
  3. Configure the environment variables listed below
  4. Register the environment as a blueprint in the AI Builder Portal
Alternatively, fork the repository and build a custom image tailored to your organization’s needs, or use the install script to add RDE tools to your existing Dockerfile.

Using the Install Script

If you already have your own Dockerfile and base image, you can add all Qovery RDE tools with a single line instead of changing your base image or forking the template repository:
The script installs everything from the official template - code-server, Claude Code, OpenCode, Node.js, Python, Go, GitHub CLI, Zellij, and more - into any Debian or Ubuntu-based image.
The install script requires a Debian/Ubuntu-based image (it uses apt-get). It must run as root inside a RUN instruction.

Customizing with .config.rde.qovery.yml

To control which components are installed, place a .config.rde.qovery.yml file in your Docker build context. If no config file is present, everything is installed with sensible defaults. Each value can be:
  • true - install with default version
  • false - skip installation
  • A version string (e.g., "22", "1.24.3") - install with a specific version
Reference it in your Dockerfile:
You can also set the config file path via the RDE_CONFIG environment variable:

Available Components

The install script and forking the template repository are complementary approaches. Use the install script when you want to keep your existing base image and add RDE tools on top. Fork the template when you want full control over the workspace image from scratch.

Integrity & Reproducibility

All binary downloads (Go, GitHub CLI, Zellij, ttyd, RTK) are SHA256-verified - the script checks each downloaded artifact against a pinned checksum and aborts the build if it doesn’t match. Node.js is installed via a GPG-verified apt source instead of piping a setup script into bash.
Using custom versions
When you override the default version of a binary tool, you must also provide SHA256 checksums for each architecture you target. The config key pattern is:
Where <tool> is one of go, gh, zellij, ttyd, or rtk, and <arch> is amd64 or arm64. For example, to pin GitHub CLI to v2.78.0 and Go to v1.25.0:
You can find checksums on each tool’s GitHub releases page. For example, the GitHub CLI publishes a checksums.txt file with every release at https://github.com/cli/cli/releases.
If checksums are missing for a custom version, the install script will fail with an error to prevent installing unverified binaries.
Vendoring the install script
For production deployments where you need full control over what runs during your Docker build, vendor the install script into your repository instead of fetching it at build time:
This eliminates the network fetch during build, pins the script to a known-good version in your git history, and lets you review changes before updating.
The Qovery CLI and Qovery Skills installs currently use unpinned curl | bash from Qovery-controlled endpoints (get.qovery.com and skill.qovery.com). Version pinning for these components is planned.
Custom workspace user
By default, the install script creates a coder user and installs everything under /home/coder. To use a different user, set rde_user in your config or the RDE_USER environment variable:
Or via environment variable (takes priority over config):
If the user already exists in your base image (e.g., node in node:22, ubuntu in ubuntu:24.04), the script will use it as-is and detect its home directory automatically. If it doesn’t exist, the script creates it with /home/<user>.
When using a custom user, update the WORKDIR in your Dockerfile to match the user’s home directory (e.g., /home/builder/project).

Environment Variables

Configure these environment variables on the workspace container service in your Qovery blueprint environment:
For blueprints where builders will work on an existing codebase, set GIT_REPO_URL to your repository. For open-ended “start from scratch” blueprints, leave it empty - builders get a blank workspace with a welcome guide.

How the Startup Works

When a workspace container starts, the template automatically:
1

Clone the repository

If GIT_REPO_URL is configured, the repo is cloned and the specified branch is checked out. On subsequent restarts, the workspace pulls the latest changes instead of re-cloning.
2

Install dependencies

Auto-detects the project type and installs dependencies - npm install for Node.js, pip install for Python, bundle install for Ruby, go mod download for Go.
3

Start the dev server

Auto-detects the framework and starts the appropriate dev server in the background. Builders see their application running immediately.
4

Open the IDE

code-server launches with the Claude Code sidebar open and a welcome guide ready. For fresh workspaces (no git repo), a beginner-friendly WELCOME.md is generated with usage tips and example prompts.

Supported Project Types

The template auto-detects and handles the following project types:

AI Skills

The template includes pre-configured AI skills for both Claude Code and OpenCode that:
  • Adapt to the builder’s experience level - On first interaction, the AI asks the builder how comfortable they are with coding and adjusts its communication style accordingly (no jargon for beginners, normal technical language for experienced developers)
  • Take action directly - The AI creates files, installs packages, and fixes errors autonomously instead of instructing the builder to run commands
  • Use a sensible default stack - When starting from scratch, the AI defaults to Vite + React + Tailwind CSS
  • Support deployment - When a builder says “put it online” or “deploy”, the AI uses Qovery skills to deploy the application

Customization

Add RUN curl -fsSL https://rde.qovery.com/install.sh | bash to your existing Dockerfile. Customize what gets installed with a .config.rde.qovery.yml file - disable runtimes you don’t need, pin specific versions, or skip code-server entirely. See Using the Install Script for details.
Fork the template repository, modify the Dockerfile to add your organization’s specific tools, libraries, or CLI utilities, then build and push your custom image to your container registry.
The AI skill files (resources/CLAUDE.md and resources/SKILL.md) control how Claude Code and OpenCode interact with builders. Edit these files to match your organization’s coding conventions, preferred tech stack, or domain-specific instructions.
Add additional VS Code extensions to the Dockerfile using code-server --install-extension <extension-id>, or list them in the extensions key of your .config.rde.qovery.yml file. This is useful for language-specific extensions, linters, or your organization’s internal extensions.
If all your builders use the same tech stack, set GIT_REPO_URL to a starter template repo and configure the environment variables accordingly. Builders get a ready-to-code project from the moment their workspace starts.

Best Practices

Include only what builders actually need. A bloated blueprint means slower workspace creation, higher resource usage, and more maintenance. If different teams need different tools, create separate blueprints rather than one blueprint with everything.
Deploy and validate the blueprint environment in the Qovery Console before registering it in the portal. Create a test workspace yourself to confirm that all services start correctly and the developer experience is smooth.
Blueprint names appear in the workspace catalog. Use names that clearly communicate the purpose - “React Frontend Starter” is more helpful than “Template A”. Builders should be able to pick the right blueprint without asking for help.
Use tagged container images (e.g., workspace:v2.1) rather than :latest for production blueprints. This gives you control over when updates roll out and makes it easy to roll back if an update causes issues.
Include a TTL lifecycle job in your blueprint environment that automatically stops idle workspaces. This prevents forgotten workspaces from running indefinitely and accumulating cloud costs.

Next Steps

Access Control

Control who can create workspaces from each blueprint.

Workspace Management

Monitor and manage all workspaces across your organization.

Portal Customization

Customize branding, layouts, and the welcome screen.