Conversation
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
|
Hey, I'm getting error to import the template in dokploy |
|
@Siumauricio, the issue is now fixed. I have added the nginx configuration files, and it works well. I have tested it |
|
@greptile review |
| # For a complete production setup, refer to docker-compose.prod.yml | ||
| # ============================================================================= | ||
|
|
||
| name: onyx |
There was a problem hiding this comment.
Missing version: "3.8" directive
Per the project's AGENTS.md conventions, Docker Compose files must specify version: "3.8". The name: onyx directive at line 37 is also not standard for Dokploy templates (only ~7 out of 374 templates use it), and may interfere with Dokploy's own project naming. Consider replacing with the required version directive or adding it above the name: line.
Context Used: Context from dashboard - 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!
| build: | ||
| context: https://github.com/onyx-dot-app/onyx.git#main:backend | ||
| dockerfile: Dockerfile | ||
| args: | ||
| - ENABLE_CRAFT=${ENABLE_CRAFT:-false} |
There was a problem hiding this comment.
build: sections won't work in Dokploy
Multiple services (api_server, background, web_server, inference_model_server, indexing_model_server) include build: sections that reference a remote Git context. In a Dokploy deployment, these build: blocks are not used — Dokploy pulls pre-built images. While they're not harmful (Docker Compose will use image: if the build context is unavailable), they add significant noise to the template and could confuse users. Consider removing the build: sections from all services to keep the template focused on the Dokploy deployment workflow.
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!
| env_file: | ||
| - path: .env | ||
| required: false |
There was a problem hiding this comment.
env_file references non-existent .env file
Every service in this compose file references env_file: .env with required: false. In a Dokploy deployment, environment variables are managed through template.toml's [config] env array, and there is no .env file present. While required: false means this won't cause a startup failure, it's misleading and unnecessary in the Dokploy context. Consider removing all env_file: blocks.
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!
| volumes: | ||
| - ../files/volumes/data/nginx/app.conf.template:/etc/nginx/conf.d/app.conf.template | ||
| - ../files/volumes/data/nginx/mcp.conf.inc.template:/etc/nginx/conf.d/mcp.conf.inc.template | ||
| - ../files/volumes/data/nginx/mcp_upstream.conf.inc.template:/etc/nginx/conf.d/mcp_upstream.conf.inc.template | ||
| - ../files/volumes/data/nginx/run-nginx.sh:/etc/nginx/conf.d/run-nginx.sh |
There was a problem hiding this comment.
Nginx volume mounts use host-relative paths
The nginx service mounts configuration files from ../files/volumes/data/nginx/.... In Dokploy, these files are provided via [[config.mounts]] in template.toml, which creates them at paths like /volumes/data/nginx/... relative to the service's file mount root. However, the docker-compose references use ../files/volumes/data/nginx/... — verify that Dokploy correctly resolves these relative paths to the mounted files defined in the template.toml. If they don't match, nginx will fail to start because it can't find its configuration files.
| # Below is needed for the `docker-out-of-docker` execution mode | ||
| user: root | ||
| volumes: | ||
| - /var/run/docker.sock:/var/run/docker.sock |
There was a problem hiding this comment.
Docker socket mount with root user
The code-interpreter service runs as user: root and mounts the host Docker socket. This gives this container full control over the host's Docker daemon. While other templates in the repo also mount the Docker socket for specific use cases (portainer, windmill, etc.), combining it with user: root and an always-on restart: unless-stopped service that conditionally runs tail -f /dev/null when disabled is worth noting. Users should be aware of this security implication.
| 'POSTGRES_USER=postgres', | ||
| 'POSTGRES_PASSWORD=password', |
There was a problem hiding this comment.
Use Dokploy helpers for credentials
The Postgres and MinIO credentials in this template use static, well-known default values. Per AGENTS.md guidelines, templates should use Dokploy's variable system with helpers like ${password:32} instead of hardcoding credentials. Most other templates in this repo follow this pattern — see blueprints/windmill/template.toml or blueprints/zitadel/template.toml for examples. This also applies to the MinIO-related values on lines 78-82.
Context Used: Context from dashboard - AGENTS.md (source)
| inference_model_server_logs: | ||
| indexing_model_server_logs: | ||
| # Shared volume for persistent document storage (Craft file-system mode) | ||
| file-system: No newline at end of file |
There was a problem hiding this comment.
Missing trailing newline
The file is missing a newline at the end. The git diff shows \ No newline at end of file on the last line. This is a minor issue but can cause problems with some tools and produces noisy diffs when lines are later appended.
| file-system: | |
| file-system: |
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!
What is this PR about?
New PR of Onyx
Checklist
Before submitting this PR, please make sure that:
Screenshots or Videos
Greptile Summary
This PR adds a new Dokploy template for Onyx, a self-hostable Chat UI with RAG, MCP, and LLM integration features. The template consists of a 12-service Docker Compose setup (API server, background worker, web server, model servers, PostgreSQL, Vespa, Redis, MinIO, nginx, and code-interpreter), a
template.tomlwith extensive environment configuration and nginx config file mounts, a logo, and themeta.jsonentry.Key issues found:
../files/volumes/data/nginx/...— verify these relative paths resolve correctly to the[[config.mounts]]files defined intemplate.toml, as a mismatch would prevent nginx from startingversion: "3.8": AGENTS.md requires Docker Compose files to specify this version, which is absent from this templatebuild:sections andenv_file:references: The docker-compose includesbuild:contexts pointing to GitHub repos andenv_file: .envon every service — neither is functional in a Dokploy deployment and adds unnecessary noisedocker-compose.ymlConfidence Score: 2/5
blueprints/onyx/template.toml(hardcoded credentials),blueprints/onyx/docker-compose.yml(nginx volume paths, convention violations)Last reviewed commit: 8b81825
(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!
Context used:
dashboard- AGENTS.md (source)