Skip to content

setup.sh: config.env created as directory — widget-server fails to mount #860

@RebelTechPro

Description

@RebelTechPro

Description

On first run, setup.sh creates ~/.continuum/grid/ (line 40) but never creates ~/.continuum/config.env as a file. When docker compose up runs, Docker sees the bind mount:

volumes:
  - ~/.continuum/config.env:/root/.continuum/config.env:ro

Since config.env doesn't exist, Docker auto-creates it as a directory. The widget-server container then fails:

Error response from daemon: error mounting ".../config.env" to rootfs at "/root/.continuum/config.env":
  not a directory: Are you trying to mount a directory onto a file (or vice-versa)?

Once Docker creates it as a directory, subsequent docker compose up calls keep failing even after fixing it — you need docker compose down first to clear the cached mount.

Workaround

rmdir ~/.continuum/config.env        # remove the directory Docker created
echo "# Continuum config" > ~/.continuum/config.env  # create as file
docker compose down && docker compose up -d

Suggested Fix

In setup.sh, after mkdir -p "$HOME/.continuum/grid" (line 40), add:

# Ensure config.env exists as a file (Docker bind-mount creates it as dir otherwise)
touch "$HOME/.continuum/config.env"

Secondary Issue

The TS_AUTHKEY variable uses :? (required) syntax in docker-compose.yml line 202:

- TS_AUTHKEY=${TS_AUTHKEY:?Set TS_AUTHKEY in .env or ~/.continuum/config.env}

Even though the tailscale service has profiles: ["grid"], Docker Compose still interpolates all variables during parsing, causing a hard error when TS_AUTHKEY is unset — even for non-grid users. This should use ${TS_AUTHKEY:-} (default to empty) instead, since the service won't run without the grid profile anyway.

Environment

  • Windows 11 Home
  • Git Bash (MSYS2)
  • Docker Desktop 29.3.1
  • Docker Compose v5.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions