Open Design is a local-first, open-source design tool with native desktop apps, a large library of design systems, and an extensible plugin ecosystem that runs across many coding agents. It ships as a single self-contained container (no external database or cache required).
What's included
blueprints/open-design/docker-compose.yml — single open-design service on ghcr.io/nexu-io/od:latest, listening on internal port 7456, with a persistent volume at /app/.od and a /api/health healthcheck.
blueprints/open-design/template.toml — domain mapping + auto-generated OD_API_TOKEN (${password:32}) and OD_ALLOWED_ORIGINS set to the assigned domain.
blueprints/open-design/open-design.svg — official logo.
meta.json — new entry (alphabetically placed between ontime and open-fiesta).
Notes
Follows the blueprint rules: no container_name, no explicit ports:, no custom networks; Traefik routing is handled via the [[config.domains]] block on port 7456.
The app requires an API token; the template auto-generates one and scopes OD_ALLOWED_ORIGINS to the deployed domain so it works behind Dokploy's reverse proxy out of the box.
Confirmed the template renders in the preview catalog and produces a valid importable Base64 config.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Dokploy/templates/pull/966
**Author:** [@abhishukla610](https://github.com/abhishukla610)
**Created:** 6/30/2026
**Status:** 🔄 Open
**Base:** `canary` ← **Head:** `add-open-design-template`
---
### 📝 Commits (2)
- [`4d21098`](https://github.com/Dokploy/templates/commit/4d2109814f492bc13d7f53806fb107e55420f2bb) Add Open Design template
- [`443e944`](https://github.com/Dokploy/templates/commit/443e9443b6277dbb5ff3ff78c7d072d512355d6b) Merge remote-tracking branch 'origin/canary' into add-open-design-template
### 📊 Changes
**4 files changed** (+58 additions, -0 deletions)
<details>
<summary>View changed files</summary>
➕ `blueprints/open-design/docker-compose.yml` (+24 -0)
➕ `blueprints/open-design/meta.json` (+16 -0)
➕ `blueprints/open-design/open-design.svg` (+3 -0)
➕ `blueprints/open-design/template.toml` (+15 -0)
</details>
### 📄 Description
## Add Open Design template
[Open Design](https://github.com/nexu-io/open-design) is a local-first, open-source design tool with native desktop apps, a large library of design systems, and an extensible plugin ecosystem that runs across many coding agents. It ships as a single self-contained container (no external database or cache required).
### What's included
- `blueprints/open-design/docker-compose.yml` — single `open-design` service on `ghcr.io/nexu-io/od:latest`, listening on internal port `7456`, with a persistent volume at `/app/.od` and a `/api/health` healthcheck.
- `blueprints/open-design/template.toml` — domain mapping + auto-generated `OD_API_TOKEN` (`${password:32}`) and `OD_ALLOWED_ORIGINS` set to the assigned domain.
- `blueprints/open-design/open-design.svg` — official logo.
- `meta.json` — new entry (alphabetically placed between `ontime` and `open-fiesta`).
### Notes
- Follows the blueprint rules: no `container_name`, no explicit `ports:`, no custom networks; Traefik routing is handled via the `[[config.domains]]` block on port `7456`.
- The app requires an API token; the template auto-generates one and scopes `OD_ALLOWED_ORIGINS` to the deployed domain so it works behind Dokploy's reverse proxy out of the box.
### Testing
- `node dedupe-and-sort-meta.js` → passes.
- `docker compose -f blueprints/open-design/docker-compose.yml config` → valid.
- Confirmed the template renders in the preview catalog and produces a valid importable Base64 config.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/966
Author: @abhishukla610
Created: 6/30/2026
Status: 🔄 Open
Base:
canary← Head:add-open-design-template📝 Commits (2)
4d21098Add Open Design template443e944Merge remote-tracking branch 'origin/canary' into add-open-design-template📊 Changes
4 files changed (+58 additions, -0 deletions)
View changed files
➕
blueprints/open-design/docker-compose.yml(+24 -0)➕
blueprints/open-design/meta.json(+16 -0)➕
blueprints/open-design/open-design.svg(+3 -0)➕
blueprints/open-design/template.toml(+15 -0)📄 Description
Add Open Design template
Open Design is a local-first, open-source design tool with native desktop apps, a large library of design systems, and an extensible plugin ecosystem that runs across many coding agents. It ships as a single self-contained container (no external database or cache required).
What's included
blueprints/open-design/docker-compose.yml— singleopen-designservice onghcr.io/nexu-io/od:latest, listening on internal port7456, with a persistent volume at/app/.odand a/api/healthhealthcheck.blueprints/open-design/template.toml— domain mapping + auto-generatedOD_API_TOKEN(${password:32}) andOD_ALLOWED_ORIGINSset to the assigned domain.blueprints/open-design/open-design.svg— official logo.meta.json— new entry (alphabetically placed betweenontimeandopen-fiesta).Notes
container_name, no explicitports:, no custom networks; Traefik routing is handled via the[[config.domains]]block on port7456.OD_ALLOWED_ORIGINSto the deployed domain so it works behind Dokploy's reverse proxy out of the box.Testing
node dedupe-and-sort-meta.js→ passes.docker compose -f blueprints/open-design/docker-compose.yml config→ valid.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.