From a33fa76399456f6ab82bb97b12dab8745aab3cfd Mon Sep 17 00:00:00 2001 From: Cagdas Salur Date: Wed, 8 Jul 2026 00:43:56 +0300 Subject: [PATCH] =?UTF-8?q?feat(template):=20add=20tela=20=E2=80=94=20mark?= =?UTF-8?q?down-native=20team=20wiki=20with=20MCP=20(#967)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blueprints/tela/docker-compose.yml | 65 +++++++++++++++++++++++++++++ blueprints/tela/logo.png | Bin 0 -> 11508 bytes blueprints/tela/template.toml | 18 ++++++++ meta.json | 20 +++++++++ 4 files changed, 103 insertions(+) create mode 100644 blueprints/tela/docker-compose.yml create mode 100644 blueprints/tela/logo.png create mode 100644 blueprints/tela/template.toml diff --git a/blueprints/tela/docker-compose.yml b/blueprints/tela/docker-compose.yml new file mode 100644 index 00000000..a5117484 --- /dev/null +++ b/blueprints/tela/docker-compose.yml @@ -0,0 +1,65 @@ +services: + proxy: + image: ghcr.io/zcag/tela-proxy:0.7.0 + restart: unless-stopped + environment: + - TELA_SITE_ADDRESS=:80 + - TELA_UPSTREAM_BACKEND=backend:8080 + - TELA_UPSTREAM_FRONTEND=frontend:80 + depends_on: + - backend + - frontend + volumes: + - caddy-data:/data + - caddy-config:/config + + backend: + image: ghcr.io/zcag/tela-backend:0.7.0 + restart: unless-stopped + environment: + - TELA_PUBLIC_BASE_URL=${TELA_PUBLIC_BASE_URL} + - TELA_DATABASE_URL=postgres://tela:${TELA_PG_PASSWORD}@postgres:5432/tela?sslmode=disable + - TELA_SHARE_SECRET=${TELA_SHARE_SECRET} + - TELA_API_KEY_SECRET=${TELA_API_KEY_SECRET} + - TELA_DECK_URL=http://deck:3344 + - TELA_GOTENBERG_URL=http://gotenberg:3000 + - TELA_PDF_RENDER_BASE_URL=http://proxy + depends_on: + postgres: + condition: service_healthy + + frontend: + image: ghcr.io/zcag/tela-frontend:0.7.0 + restart: unless-stopped + + postgres: + image: pgvector/pgvector:pg17 + restart: unless-stopped + environment: + - POSTGRES_USER=tela + - POSTGRES_PASSWORD=${TELA_PG_PASSWORD} + - POSTGRES_DB=tela + healthcheck: + test: ["CMD-SHELL", "pg_isready -U tela -d tela"] + interval: 5s + timeout: 5s + retries: 20 + start_period: 10s + volumes: + - pgdata:/var/lib/postgresql/data + + deck: + image: ghcr.io/zcag/tela-deck:0.7.0 + restart: unless-stopped + volumes: + - deckcache:/data + + gotenberg: + image: gotenberg/gotenberg:8 + restart: unless-stopped + +volumes: + pgdata: + deckcache: + caddy-data: + caddy-config: diff --git a/blueprints/tela/logo.png b/blueprints/tela/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c90d578b38099e70398e98ce0465f61c0ed25cd GIT binary patch literal 11508 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
bM3cY4zB<6GWlR&rQW0+OrqiB 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 PWuW*#?S7H0*^B=MRX