Maintain compatible version tags when releasing images #4106

Closed
opened 2026-02-21 18:04:46 -05:00 by yindo · 3 comments
Owner

Originally created by @conall88 on GitHub (Jun 15, 2024).

Originally assigned to: @takatost on GitHub.

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • Please do not modify this template :) and fill in all the required fields.

Dify version

0.6.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

pick any of the helm charts mentioned in the docs and deploy using default values.

Images pulled will use the "latest" image tag.

This will pull langgenius/dify-sandbox:latest , which is release that is not compatible with other images pulled using tag "latest".

(having to manually specify a working tag, e.g 0.2.1 instead is harder to maintain, and involves trial and error.)

✔️ Expected Behavior

pulling all images with tag:latest leads to a working setup.

Actual Behavior

dify-sandbox pod fails to start with :

See https://github.com/BorisPolonsky/dify-helm/issues/77 for more context, I've been directed here by the helm chart maintainer.

2024/06/14 16:00:37 nodejs.go:32: [INFO]initializing nodejs runner environment...                                                                                                                                                 │
│ 2024/06/14 16:00:37 nodejs.go:91: [INFO]nodejs runner environment initialized                                                                                                                                                     │
│ 2024/06/14 16:00:37 setup.go:22: [INFO]initializing python runner environment...                                                                                                                                                  │
│ 2024/06/14 16:00:37 setup.go:35: [INFO]python runner environment initialized                                                                                                                                                      │
│ 2024/06/14 16:00:37 config.go:86: [INFO]network has been enabled                                                                                                                                                                  │
│ 2024/06/14 16:00:37 server.go:19: [INFO]config init success                                                                                                                                                                       │
│ 2024/06/14 16:00:37 server.go:23: [PANIC]failed to setup runner dependencies: open dependencies/python-requirements.txt: no such file or directory                                                                                │
│ panic:                                                                                                                                                                                                                            │
│                                                                                                                                                                                                                                   │
│ goroutine 1 [running]:                                                                                                                                                                                                            │
│ github.com/langgenius/dify-sandbox/internal/utils/log.(*Log).Panic(...)                                                                                                                                                           │
│     /home/yeuoly/dify-sandbox/internal/utils/log/core.go:55                                                                                                                                                                       │
│ github.com/langgenius/dify-sandbox/internal/utils/log.Panic({0x493ccd?, 0x16d98?}, {0x40000a7f38?, 0x14820?, 0x4000056768?})                                                                                                      │
│     /home/yeuoly/dify-sandbox/internal/utils/log/core.go:209 +0x74                                                                                                                                                                │
│ github.com/langgenius/dify-sandbox/internal/server.initConfig()                                                                                                                                                                   │
│     /home/yeuoly/dify-sandbox/internal/server/server.go:23 +0xb0                                                                                                                                                                  │
│ github.com/langgenius/dify-sandbox/internal/server.Run()                                                                                                                                                                          │
│     /home/yeuoly/dify-sandbox/internal/server/server.go:51 +0x1c                                                                                                                                                                  │
│ main.main()                                                                                                                                                                                                                       │
│     /home/yeuoly/dify-sandbox/cmd/server/main.go:6 +0x1c                                                                                                                                                                          │
│ Stream closed EOF for dify/dify-sandbox-5549d6d8f8-f5566 (sandbox)
Originally created by @conall88 on GitHub (Jun 15, 2024). Originally assigned to: @takatost on GitHub. ### Self Checks - [X] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [X] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [X] I confirm that I am using English to submit this report (我已阅读并同意 [Language Policy](https://github.com/langgenius/dify/issues/1542)). - [X] Please do not modify this template :) and fill in all the required fields. ### Dify version 0.6.3 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce pick any of the helm charts mentioned in the docs and deploy using default values. Images pulled will use the "latest" image tag. This will pull langgenius/dify-sandbox:latest , which is release that is not compatible with other images pulled using tag "latest". (having to manually specify a working tag, e.g 0.2.1 instead is harder to maintain, and involves trial and error.) ### ✔️ Expected Behavior pulling all images with tag:latest leads to a working setup. ### ❌ Actual Behavior dify-sandbox pod fails to start with : See https://github.com/BorisPolonsky/dify-helm/issues/77 for more context, I've been directed here by the helm chart maintainer. ``` 2024/06/14 16:00:37 nodejs.go:32: [INFO]initializing nodejs runner environment... │ │ 2024/06/14 16:00:37 nodejs.go:91: [INFO]nodejs runner environment initialized │ │ 2024/06/14 16:00:37 setup.go:22: [INFO]initializing python runner environment... │ │ 2024/06/14 16:00:37 setup.go:35: [INFO]python runner environment initialized │ │ 2024/06/14 16:00:37 config.go:86: [INFO]network has been enabled │ │ 2024/06/14 16:00:37 server.go:19: [INFO]config init success │ │ 2024/06/14 16:00:37 server.go:23: [PANIC]failed to setup runner dependencies: open dependencies/python-requirements.txt: no such file or directory │ │ panic: │ │ │ │ goroutine 1 [running]: │ │ github.com/langgenius/dify-sandbox/internal/utils/log.(*Log).Panic(...) │ │ /home/yeuoly/dify-sandbox/internal/utils/log/core.go:55 │ │ github.com/langgenius/dify-sandbox/internal/utils/log.Panic({0x493ccd?, 0x16d98?}, {0x40000a7f38?, 0x14820?, 0x4000056768?}) │ │ /home/yeuoly/dify-sandbox/internal/utils/log/core.go:209 +0x74 │ │ github.com/langgenius/dify-sandbox/internal/server.initConfig() │ │ /home/yeuoly/dify-sandbox/internal/server/server.go:23 +0xb0 │ │ github.com/langgenius/dify-sandbox/internal/server.Run() │ │ /home/yeuoly/dify-sandbox/internal/server/server.go:51 +0x1c │ │ main.main() │ │ /home/yeuoly/dify-sandbox/cmd/server/main.go:6 +0x1c │ │ Stream closed EOF for dify/dify-sandbox-5549d6d8f8-f5566 (sandbox) ```
yindo closed this issue 2026-02-21 18:04:46 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Jun 15, 2024):

Hey there, @conall88! 👋 I'm here to help you with bug reports, questions, and becoming a contributor. Let's squash those bugs together!

To avoid the issue of the dify-sandbox pod failing to start due to incompatible image versions when deploying Dify version 0.6.3 using the default Helm chart values, you should specify the following image versions explicitly in your Helm chart values:

  • Postgres: postgres:15-alpine
  • Redis: redis:6-alpine
  • Weaviate: semitechnologies/weaviate:1.19.0
  • DifySandbox: langgenius/dify-sandbox:0.2.1
  • SSR Proxy: ubuntu/squid:latest

Here is a snippet of the relevant configuration:

services:
  db:
    image: postgres:15-alpine
  redis:
    image: redis:6-alpine
  weaviate:
    image: semitechnologies/weaviate:1.19.0
  sandbox:
    image: langgenius/dify-sandbox:0.2.1
  ssrf_proxy:
    image: ubuntu/squid:latest

Ensure that these versions are correctly specified to avoid compatibility issues and ensure a smooth deployment [1].

To continue talking to Dosu, mention @dosu.

@dosubot[bot] commented on GitHub (Jun 15, 2024): <!-- Greeting --> Hey there, @conall88! 👋 I'm here to help you with bug reports, questions, and becoming a contributor. Let's squash those bugs together! <!-- Answer --> To avoid the issue of the `dify-sandbox` pod failing to start due to incompatible image versions when deploying Dify version 0.6.3 using the default Helm chart values, you should specify the following image versions explicitly in your Helm chart values: - **Postgres**: `postgres:15-alpine` - **Redis**: `redis:6-alpine` - **Weaviate**: `semitechnologies/weaviate:1.19.0` - **DifySandbox**: `langgenius/dify-sandbox:0.2.1` - **SSR Proxy**: `ubuntu/squid:latest` Here is a snippet of the relevant configuration: ```yaml services: db: image: postgres:15-alpine redis: image: redis:6-alpine weaviate: image: semitechnologies/weaviate:1.19.0 sandbox: image: langgenius/dify-sandbox:0.2.1 ssrf_proxy: image: ubuntu/squid:latest ``` Ensure that these versions are correctly specified to avoid compatibility issues and ensure a smooth deployment <sup>[[1]](https://github.com/langgenius/dify/blob/main/docker/docker-compose.middleware.yaml)</sup>. <!-- Dosu Comment Footer --> *To continue talking to [Dosu](https://dosu.dev), mention @dosu.*
Author
Owner

@conall88 commented on GitHub (Jun 15, 2024):

if there is a breaking compatibility change, it should be reflected in semantic versioning, and should be described in the documentation, this is why it is common for projects to instead ensure compatibility for a particular release across containers.

@conall88 commented on GitHub (Jun 15, 2024): if there is a breaking compatibility change, it should be reflected in semantic versioning, and should be described in the documentation, this is why it is common for projects to instead ensure compatibility for a particular release across containers.
Author
Owner

@BorisPolonsky commented on GitHub (Jun 17, 2024):

We have plans to substitute the latest tag of sandbox in dify-helm for explicitly versioned ones. But without compatibility matrix declaration in official documents or release notes, the only way for us to resolve this is to wait until dify finalize the last version of 0.6.* and update the tag for sandbox afterwards.

@BorisPolonsky commented on GitHub (Jun 17, 2024): We have plans to substitute the `latest` tag of `sandbox` in `dify-helm` for explicitly versioned ones. But without compatibility matrix declaration in official documents or release notes, the only way for us to resolve this is to wait until `dify` finalize the last version of `0.6.*` and update the tag for `sandbox` afterwards.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#4106