Conversation
Added metadata for Maxio including links and tags.
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
blueprints/maxio/docker-compose.yml
Outdated
| @@ -0,0 +1,12 @@ | |||
| services: | |||
| maxio: | |||
| image: ghcr.io/coollabsio/maxio | |||
There was a problem hiding this comment.
Docker image not pinned to a specific version
The image ghcr.io/coollabsio/maxio has no version tag, which means Docker will silently pull a potentially breaking latest update. The AGENTS.md and security guidelines both require images to be pinned to a specific version (e.g., ghcr.io/coollabsio/maxio:v0.1.0). The version field in meta.json should also be updated to match this tag.
Rule Used: AGENTS.md (source)
| services: | ||
| maxio: | ||
| image: ghcr.io/coollabsio/maxio | ||
| ports: | ||
| - "9000:9000" | ||
| volumes: | ||
| - maxio-data:/data | ||
| environment: | ||
| - MAXIO_ACCESS_KEY=${MAXIO_ADMIN} | ||
| - MAXIO_SECRET_KEY=${MAXIO_PASSWORD} | ||
| volumes: | ||
| maxio-data: |
There was a problem hiding this comment.
Missing version, restart, and incorrect ports field
The docker-compose file has three violations of the required conventions defined in AGENTS.md:
version: "3.8"is required but is absent.portsmust not be used — useexposeinstead. Dokploy handles routing, so exposing host ports directly conflicts with its isolation model.restart: unless-stoppedorrestart: alwaysis required but is missing. Without it, the container will not recover from crashes or host reboots.
Please update the file to add version: "3.8" at the top, replace the ports section with expose: ["9000"], and add restart: unless-stopped to the maxio service.
Rule Used: AGENTS.md (source)
blueprints/maxio/template.toml
Outdated
| [config.env] | ||
| MAXIO_ADMIN="${password:20}" | ||
| MAXIO_PASSWORD="${password:20}" |
There was a problem hiding this comment.
Wrong env vars format — must be an array of strings
The [config.env] TOML table syntax is incorrect. Per AGENTS.md and its "Common Pitfalls to Avoid" section: "Using object syntax for env vars in template.toml (must be array of strings)".
The current file defines env vars as a TOML table (key-value pairs under [config.env]), but Dokploy expects them to be an inline array of strings under [config]. Compare with the ghost blueprint's template.toml which uses env = [...] (an array, not a nested table). This incorrect syntax will cause env variables to not be injected at deploy time.
Rule Used: AGENTS.md (source)
There was a problem hiding this comment.
Pull request overview
Adds a new Dokploy blueprint for deploying MaxIO (S3-compatible object storage) by introducing a new blueprints/maxio/ template and registering it in meta.json.
Changes:
- Added
blueprints/maxio/docker-compose.ymlandblueprints/maxio/template.tomlfor MaxIO deployment configuration. - Added MaxIO logo asset (
blueprints/maxio/maxio.png). - Registered the MaxIO template in
meta.json(and adjusted ordering around existing entries).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
meta.json |
Adds a new maxio entry to the template index. |
blueprints/maxio/docker-compose.yml |
Defines the MaxIO service, storage volume, and environment variable wiring. |
blueprints/maxio/template.toml |
Adds domain routing and generates credentials via helpers. |
blueprints/maxio/maxio.png |
Adds the MaxIO logo referenced by meta.json. |
blueprints/maxio/docker-compose.yml
Outdated
| @@ -0,0 +1,12 @@ | |||
| services: | |||
| maxio: | |||
| image: ghcr.io/coollabsio/maxio | |||
There was a problem hiding this comment.
The service image is not pinned to a specific tag (defaults to whatever the registry serves). For template stability and reproducibility, please pin ghcr.io/coollabsio/maxio to a known-good version and keep meta.json.version in sync with that tag.
| image: ghcr.io/coollabsio/maxio | |
| image: ghcr.io/coollabsio/maxio:1.0.0 |
meta.json
Outdated
| "version": "latest", | ||
| "description": "MaxIO is a lightweight, single-binary S3-compatible object storage server written in Rust", |
There was a problem hiding this comment.
version is set to "latest". If the template is intended to be reproducible over time, it should reference a specific released version (and match the Docker image tag used in the compose file).
blueprints/maxio/docker-compose.yml
Outdated
| ports: | ||
| - "9000:9000" |
There was a problem hiding this comment.
ports is using a host:container mapping ("9000:9000"). Repo guidance in README.md recommends not binding a fixed host port in templates (to avoid collisions); use the short form (e.g., just the container port) or expose instead so Dokploy can route internally.
| ports: | |
| - "9000:9000" |
blueprints/maxio/template.toml
Outdated
| [config.env] | ||
| MAXIO_ADMIN="${password:20}" | ||
| MAXIO_PASSWORD="${password:20}" |
There was a problem hiding this comment.
This template uses a [config.env] table, but the repository’s documented template.toml structure recommends defining env vars as an env = ["KEY=VALUE", ...] array under [config] (see AGENTS.md:166-171). Please update to the documented format so new templates stay consistent with current guidance (and to make the env vars’ shape unambiguous).
| [config.env] | |
| MAXIO_ADMIN="${password:20}" | |
| MAXIO_PASSWORD="${password:20}" | |
| [config] | |
| env = [ | |
| "MAXIO_ADMIN=${password:20}", | |
| "MAXIO_PASSWORD=${password:20}", | |
| ] |
meta.json
Outdated
| "name": "MaxIO", | ||
| "version": "0.2.1", | ||
| "description": "MaxIO is a lightweight, single-binary S3-compatible object storage server written in Rust", | ||
| "logo": "maxio.png", |
There was a problem hiding this comment.
Logo files are preferred as SVG in this repo (for consistency and smaller size), but this entry references maxio.png. If an SVG is available, consider switching the logo to maxio.svg and updating the logo field accordingly. Reference: AGENTS.md:145.
| "logo": "maxio.png", | |
| "logo": "maxio.svg", |
blueprints/maxio/docker-compose.yml
Outdated
| services: | ||
| maxio: | ||
| image: ghcr.io/coollabsio/maxio:0.2.1 | ||
| ports: |
There was a problem hiding this comment.
docker-compose.yml uses ports, but this repo’s contribution guidelines explicitly disallow publishing ports (Dokploy handles routing). Replace ports with expose (or remove port publishing entirely) so the service is only reachable via Dokploy’s proxy. Reference: AGENTS.md:147-151.
| ports: | |
| expose: |
What is this PR about?
New PR of MaxIO
Checklist
Before submitting this PR, please make sure that:
Issues related (if applicable)
Close automatically the related issues using the keywords:
closes #ISSUE_NUMBERScreenshots or Videos
Greptile Summary
This PR adds a new MaxIO template — a lightweight, S3-compatible object storage server written in Rust — to the Dokploy templates collection. While the intent is correct, there are several critical issues that need to be addressed before merging.
docker-compose.yml: Missing requiredversion: "3.8", usesports(must be replaced withexpose), missingrestart: unless-stopped, and the image is not pinned to a specific version tag — all of which violate the repository's documented conventions.template.toml: Env vars are declared using TOML table syntax ([config.env]with key-value pairs) instead of the required array-of-strings format under[config]. This will cause env variables to be silently ignored at deploy time.meta.json: The Strapi template entry is unintentionally deleted while its blueprint files still exist in the repository. This is likely a merge conflict artifact and must be restored.Confidence Score: 1/5
docker-compose.ymlviolates three hard requirements (version,portsvsexpose,restart), thetemplate.tomluses the wrong env var format which would break deployment, and the PR accidentally removes the Strapi entry frommeta.json.blueprints/maxio/docker-compose.yml,blueprints/maxio/template.toml, andmeta.jsonall require fixes before this PR can be merged.Comments Outside Diff (1)
meta.json, line 5969-5985 (link)Unrelated deletion of the Strapi template
This PR removes the
strapientry frommeta.json, but the blueprint files (blueprints/strapi/docker-compose.yml,blueprints/strapi/template.toml,blueprints/strapi/strapi.svg) still exist in the repository. This deletion appears to be an unintended side-effect, likely from a merge conflict or editing error. The Strapi entry should be restored so that this PR only adds the MaxIO template.Last reviewed commit: 06f8b45
(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!
Context used: