Skip to content

feat: add Weblate template#746

Closed
enigma972 wants to merge 9 commits intoDokploy:canaryfrom
enigma972:weblate
Closed

feat: add Weblate template#746
enigma972 wants to merge 9 commits intoDokploy:canaryfrom
enigma972:weblate

Conversation

@enigma972
Copy link
Copy Markdown

@enigma972 enigma972 commented Mar 16, 2026

What is this PR about?

New PR of Weblate

Checklist

Before submitting this PR, please make sure that:

Greptile Summary

This PR adds a new Weblate (web-based translation tool) template with Docker Compose services for Weblate, Valkey (Redis-compatible cache), and PostgreSQL 18. The template includes good security practices like read_only containers and tmpfs mounts, proper healthchecks, and correct volume paths for PostgreSQL 18+.

Key issues to address before merging:

  • Self-referencing variables in template.toml: Multiple variables (e.g., POSTGRES_USER, POSTGRES_DB, POSTGRES_HOST, WEBLATE_SITE_TITLE, WEBLATE_SITE_DOMAIN, WEBLATE_ADMIN_NAME) reference themselves instead of providing actual default values, which will cause them to resolve to empty strings and likely break the deployment.
  • Unpinned Docker image: weblate/weblate:latest should be pinned to a specific version (e.g., 5.11.2), and meta.json version field should match.
  • Docker Compose version: Uses 3.9 instead of the project-standard 3.8.

Confidence Score: 2/5

  • This PR has configuration issues that will likely cause deployment failures and should be fixed before merging.
  • Score of 2 reflects that while the overall template structure is sound, the self-referencing variables in template.toml will result in empty/undefined values for critical settings like database credentials and host, which will break the deployment. The unpinned image tag also violates project guidelines.
  • Pay close attention to blueprints/weblate/template.toml (self-referencing variables) and blueprints/weblate/docker-compose.yml (unpinned image tag).

Last reviewed commit: 626fdca

Greptile also left 4 inline comments on this PR.

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

Context used:

  • Rule used - AGENTS.md (source)

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Mar 16, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

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

Comment on lines +9 to +24
WEBLATE_SITE_TITLE = "${WEBLATE_SITE_TITLE}"
WEBLATE_SITE_DOMAIN = "${WEBLATE_SITE_DOMAIN}"
WEBLATE_ADMIN_PASSWORD = "${password:32}"
WEBLATE_ADMIN_EMAIL = "admin@example.com"
WEBLATE_ADMIN_NAME = "${WEBLATE_ADMIN_NAME}"
WEBLATE_EMAIL_HOST = "${WEBLATE_EMAIL_HOST}"
WEBLATE_EMAIL_HOST_USER = "${WEBLATE_EMAIL_HOST_USER}"
WEBLATE_EMAIL_HOST_PASSWORD = "${WEBLATE_EMAIL_HOST_PASSWORD}"
WEBLATE_SERVER_EMAIL = "${WEBLATE_SERVER_EMAIL}"
WEBLATE_DEFAULT_FROM_EMAIL = "no-reply@example.com"
REDIS_HOST = "cache"
REDIS_PORT = "6379"
POSTGRES_PASSWORD = "${password:32}"
POSTGRES_USER = "${POSTGRES_USER}"
POSTGRES_DB = "${POSTGRES_DB}"
POSTGRES_HOST = "${POSTGRES_HOST}"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Self-referencing variables resolve to empty values

Several variables in the [variables] section reference themselves (e.g., WEBLATE_SITE_TITLE = "${WEBLATE_SITE_TITLE}"), which will resolve to empty strings since no actual default is provided. This affects: WEBLATE_SITE_TITLE (line 9), WEBLATE_SITE_DOMAIN (line 10), WEBLATE_ADMIN_NAME (line 13), WEBLATE_EMAIL_HOST (line 14), WEBLATE_EMAIL_HOST_USER (line 15), WEBLATE_EMAIL_HOST_PASSWORD (line 16), WEBLATE_SERVER_EMAIL (line 17), POSTGRES_USER (line 22), POSTGRES_DB (line 23), and POSTGRES_HOST (line 24).

These should have sensible literal defaults. For example, other templates (like authentik and n8n-with-postgres) define values like POSTGRES_USER = "weblate", POSTGRES_DB = "weblate", and POSTGRES_HOST = "database" (matching the docker-compose service name). WEBLATE_SITE_DOMAIN should reference "${main_domain}", and WEBLATE_SITE_TITLE should have a literal default like "Weblate". WEBLATE_ADMIN_NAME could default to "Admin". Without these defaults, the deployment will likely fail or produce a misconfigured instance.

Rule Used: AGENTS.md (source)

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-template size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant