Add example to reproduce issue #8854: env var fallback in volume paths (#66)

Demonstrates that array/long syntax volumes with ${VAR:-default} fallback
values cause "Convert to file" to fail with a command injection error.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Andras Bacsai
2026-03-13 18:24:40 +01:00
committed by GitHub
parent f8686bb2b7
commit 7719c65320
3 changed files with 28 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
# Docker Compose - Environment Variable Fallback Volume
Reproduces [issue #8854](https://github.com/coollabsio/coolify/issues/8854): the "Convert to file" button in Persistent Storage UI fails for volume paths using variables with fallback values (`${VAR:-./path}`).
## How to reproduce
1. Deploy this as a **Docker Compose** application from this Git repository.
2. Go to the **Persistent Storage** tab.
3. The `${CONFIG_FILE:-./default-config.yaml}` mount is listed as a directory.
4. Click **"Convert to file"** on that mount.
5. Expected: converts to file. Actual: throws `Invalid storage path: contains forbidden character '${' (variable substitution with potential command injection)`.

View File

@@ -0,0 +1,9 @@
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
}

View File

@@ -0,0 +1,8 @@
services:
web:
image: nginx:alpine
volumes:
- type: bind
source: '${CONFIG_FILE:-./default-config.yaml}'
target: /etc/nginx/conf.d/custom.conf
read_only: true