Skip to content

Add --data-root flag for custom volume bind mount paths#2

Merged
conorbranagan merged 2 commits intoniteshift-d-in-dfrom
conorbranagan/add-data-root-flag-2q6h2b
Jan 27, 2026
Merged

Add --data-root flag for custom volume bind mount paths#2
conorbranagan merged 2 commits intoniteshift-d-in-dfrom
conorbranagan/add-data-root-flag-2q6h2b

Conversation

@conorbranagan
Copy link
Copy Markdown

@conorbranagan conorbranagan commented Jan 27, 2026

Description

Add support for a --data-root flag to supabase start that enables custom host paths for persistent data instead of using Docker named volumes. This allows Supabase to run in container-in-container (DinD) environments where Docker daemon configuration cannot be easily modified.

Changes

Features

  • Add --data-root CLI flag to supabase start command
  • Support data_root configuration option in config.toml under [local] section
  • Convert named volumes to bind mounts when --data-root is specified:
    • Database: <data-root>/db:/var/lib/postgresql/data (replaces supabase_db_[ProjectId] named volume)
    • Storage: <data-root>/storage:/mnt (replaces supabase_storage_[ProjectId] named volume)
  • Automatically create required subdirectories if they don't exist
  • CLI flag takes precedence over config file setting

Files Modified

  • cmd/start.go - Added --data-root flag definition
  • internal/start/start.go - Updated Run() to accept and apply dataRoot parameter, added createDataDirectories() helper function
  • internal/db/start/start.go - Modified NewHostConfig() to use bind mounts when DataRoot is configured
  • pkg/config/config.go - Added DataRoot field to Local config struct
  • pkg/config/templates/config.toml - Added data_root configuration example
  • internal/db/start/start_test.go - Added tests for host config with and without DataRoot
  • internal/start/start_test.go - Added test coverage for data directory creation

Testing

Added unit tests covering:

  • Default behavior using named volumes when DataRoot is not set
  • Bind mount behavior when DataRoot is configured
  • Data directory creation

View Niteshift Task

@conorbranagan conorbranagan changed the title feat: add --data-root flag to supabase start Add --data-root flag for custom volume bind mount paths Jan 27, 2026
@conorbranagan conorbranagan marked this pull request as ready for review January 27, 2026 19:51
@conorbranagan conorbranagan merged commit 0a68451 into niteshift-d-in-d Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant