Skip to content

feat: add/update Construct template (v2026.5.3-beta.90)#846

Closed
kaveone wants to merge 1 commit intoDokploy:mainfrom
KumihoIO:construct/update-v2026.5.3-beta.90
Closed

feat: add/update Construct template (v2026.5.3-beta.90)#846
kaveone wants to merge 1 commit intoDokploy:mainfrom
KumihoIO:construct/update-v2026.5.3-beta.90

Conversation

@kaveone
Copy link
Copy Markdown

@kaveone kaveone commented Apr 30, 2026

Summary

  • Adds/updates Construct template to v${VERSION}
  • Image: ghcr.io/kumihoio/construct-os:${VERSION}
  • Construct is a fast, small, fully autonomous AI personal assistant (100% Rust)
  • Multi-arch: linux/amd64 + linux/arm64

Checklist

  • Read README.md suggestions
  • Tested template in personal Dokploy instance
  • Confirmed all requirements met

Testing

  • Deployed via Compose service import
  • Service starts and gateway is accessible on port 42617
  • Health check passes

Links

Greptile Summary

This PR adds the Construct AI assistant template (v2026.5.3-beta.90) and removes a duplicate Strapi entry from meta.json — the base branch had two identical Strapi objects, so the dedup is correct. The docker-compose structure follows all conventions (v3.8, expose only, restart: unless-stopped, named volume).

  • P1 — service won't function out of the box: the template auto-generates a random 64-char string for the LLM provider credential variable, but users must supply their own real OpenRouter (or other provider) key. Every LLM call will fail until the user discovers and manually replaces the generated value.

Confidence Score: 3/5

The P1 issue (auto-generated random key replacing a required external API credential) should be resolved before merging — the service will deploy but be non-functional by default.

One clear P1 defect: the template generates a random password for API_KEY instead of prompting the user to supply a real LLM provider key, so the service starts but cannot make any API calls. The remaining findings are P2 (logo format, provider flexibility). The Strapi removal is valid deduplication.

blueprints/construct/template.toml — the api_key variable default needs rethinking.

Comments Outside Diff (1)

  1. blueprints/construct/construct.png, line 1 (link)

    P2 SVG preferred over PNG for logo

    Per the project's AGENTS.md contribution guide, SVG is the preferred logo format (~128×128px). A PNG logo will work functionally, but SVG scales better across different display sizes and DPIs used in the Dokploy UI.

    Context Used: AGENTS.md (source)

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Reviews (1): Last reviewed commit: "feat: add/update Construct template (v20..." | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

Context used:

  • Context used - AGENTS.md (source)

@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. new-template labels Apr 30, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 30, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 5c54d5c

@@ -0,0 +1,17 @@
[variables]
main_domain = "${domain}"
api_key = "${password:64}"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Auto-generated key replaces required external API key

${password:64} generates a random 64-character string, but API_KEY must be a real LLM provider credential (e.g., an OpenRouter API key). A randomly generated value will be passed to the container, making all LLM calls fail silently from the start. Users would need to discover this and manually replace the value post-deployment. Consider removing the default or replacing with a placeholder that signals user input is required (e.g., api_key = ""), and add a comment or description so users know to supply their actual key.

[variables]
main_domain = "${domain}"
api_key = "${password:64}"
provider = "openrouter"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Provider hardcoded, defeating "swap anything" claim

The provider variable is set to "openrouter" and wired directly into the env without any user-configurable default. Since the project advertises "swap anything" for the LLM provider, users will be surprised they cannot change this without editing files directly. Consider leaving it unset or exposing it as a clearly user-overridable variable (e.g., provider = "openrouter" with an accompanying comment listing supported values).

@kaveone
Copy link
Copy Markdown
Author

kaveone commented May 8, 2026

Superseded by Construct v2026.5.7; closing in favor of the newer PR.

@kaveone
Copy link
Copy Markdown
Author

kaveone commented May 8, 2026

Superseded by v2026.5.7.

@kaveone kaveone closed this May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-template size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant