tela is a self-hostable, markdown-native team wiki — Go + PostgreSQL backend, a React editor with live Yjs collaboration, full-text + optional semantic search, WebDAV sync, public/blog spaces, Slidev decks, PDF export, and a built-in MCP server so AI agents are first-class editors. Open-source (AGPL-3.0), repo at github.com/zcag/tela.
Files
blueprints/tela/docker-compose.yml
blueprints/tela/template.toml
blueprints/tela/logo.png (512×512)
meta.json entry (sorted via dedupe-and-sort-meta.js)
Services
proxy — Caddy (ghcr.io/zcag/tela-proxy:0.7.0), the only web-exposed service; routed on container port 80.
All images are public, multi-arch (amd64/arm64) on GHCR.
Notes
Secrets (pg_password, share_secret, api_key_secret) are generated via Dokploy's ${password:N} helper and must stay stable — rotating TELA_API_KEY_SECRET invalidates existing PATs.
No admin env is set, so first boot lands on the /setup wizard to create the admin account.
No container_name, no explicit host ports, no custom networks — per CONTRIBUTING.
Testing
Verified locally with docker compose (services start, Postgres healthcheck passes, app reachable through the proxy and /setup completes). Compose/TOML/JSON all validate.
🔄 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/967
**Author:** [@zcag](https://github.com/zcag)
**Created:** 6/30/2026
**Status:** ✅ Merged
**Merged:** 7/7/2026
**Merged by:** [@Siumauricio](https://github.com/Siumauricio)
**Base:** `canary` ← **Head:** `add-tela-template`
---
### 📝 Commits (1)
- [`91e0b76`](https://github.com/Dokploy/templates/commit/91e0b76e21f01b6f88b250e400192f9b79a612e3) feat(template): add tela — markdown-native team wiki with MCP
### 📊 Changes
**4 files changed** (+103 additions, -0 deletions)
<details>
<summary>View changed files</summary>
➕ `blueprints/tela/docker-compose.yml` (+65 -0)
➕ `blueprints/tela/logo.png` (+0 -0)
➕ `blueprints/tela/template.toml` (+18 -0)
📝 `meta.json` (+20 -0)
</details>
### 📄 Description
## Add tela
[tela](https://telawiki.com) is a self-hostable, **markdown-native team wiki** — Go + PostgreSQL backend, a React editor with **live Yjs collaboration**, full-text **+ optional semantic search**, **WebDAV sync**, public/blog spaces, **Slidev decks**, PDF export, and a built-in **MCP server** so AI agents are first-class editors. Open-source (AGPL-3.0), repo at [github.com/zcag/tela](https://github.com/zcag/tela).
### Files
- `blueprints/tela/docker-compose.yml`
- `blueprints/tela/template.toml`
- `blueprints/tela/logo.png` (512×512)
- `meta.json` entry (sorted via `dedupe-and-sort-meta.js`)
### Services
- **proxy** — Caddy (`ghcr.io/zcag/tela-proxy:0.7.0`), the only web-exposed service; routed on container port **80**.
- **backend** — Go (`ghcr.io/zcag/tela-backend:0.7.0`).
- **frontend** — nginx (`ghcr.io/zcag/tela-frontend:0.7.0`).
- **postgres** — `pgvector/pgvector:pg17` (pgvector required for semantic search).
- **deck** — Slidev render sidecar (`ghcr.io/zcag/tela-deck:0.7.0`).
- **gotenberg** — `gotenberg/gotenberg:8` (PDF export).
All images are public, multi-arch (amd64/arm64) on GHCR.
### Notes
- Secrets (`pg_password`, `share_secret`, `api_key_secret`) are generated via Dokploy's `${password:N}` helper and must stay stable — rotating `TELA_API_KEY_SECRET` invalidates existing PATs.
- No admin env is set, so first boot lands on the `/setup` wizard to create the admin account.
- No `container_name`, no explicit host ports, no custom networks — per CONTRIBUTING.
### Testing
Verified locally with `docker compose` (services start, Postgres healthcheck passes, app reachable through the proxy and `/setup` completes). Compose/TOML/JSON all validate.
---
<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/967
Author: @zcag
Created: 6/30/2026
Status: ✅ Merged
Merged: 7/7/2026
Merged by: @Siumauricio
Base:
canary← Head:add-tela-template📝 Commits (1)
91e0b76feat(template): add tela — markdown-native team wiki with MCP📊 Changes
4 files changed (+103 additions, -0 deletions)
View changed files
➕
blueprints/tela/docker-compose.yml(+65 -0)➕
blueprints/tela/logo.png(+0 -0)➕
blueprints/tela/template.toml(+18 -0)📝
meta.json(+20 -0)📄 Description
Add tela
tela is a self-hostable, markdown-native team wiki — Go + PostgreSQL backend, a React editor with live Yjs collaboration, full-text + optional semantic search, WebDAV sync, public/blog spaces, Slidev decks, PDF export, and a built-in MCP server so AI agents are first-class editors. Open-source (AGPL-3.0), repo at github.com/zcag/tela.
Files
blueprints/tela/docker-compose.ymlblueprints/tela/template.tomlblueprints/tela/logo.png(512×512)meta.jsonentry (sorted viadedupe-and-sort-meta.js)Services
ghcr.io/zcag/tela-proxy:0.7.0), the only web-exposed service; routed on container port 80.ghcr.io/zcag/tela-backend:0.7.0).ghcr.io/zcag/tela-frontend:0.7.0).pgvector/pgvector:pg17(pgvector required for semantic search).ghcr.io/zcag/tela-deck:0.7.0).gotenberg/gotenberg:8(PDF export).All images are public, multi-arch (amd64/arm64) on GHCR.
Notes
pg_password,share_secret,api_key_secret) are generated via Dokploy's${password:N}helper and must stay stable — rotatingTELA_API_KEY_SECRETinvalidates existing PATs./setupwizard to create the admin account.container_name, no explicit host ports, no custom networks — per CONTRIBUTING.Testing
Verified locally with
docker compose(services start, Postgres healthcheck passes, app reachable through the proxy and/setupcompletes). Compose/TOML/JSON all validate.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.