Appearance
Administer Community Edition
The freely available version of the Yellowbrick SQL Data Platform that runs on Docker, designed for single-node deployments. Built on the same engine as Yellowbrick Enterprise Edition, CE is ideal for development environments, functional validation, and smaller datasets. Learn more about supported functionality here.
This collection of how-to guides is designed to help you perform specific tasks related to installing, configuring and administering Community Edition in your local systems.
You can find our latest image and the docker installation steps on docker-hub as well.
Supported Environments and Requirements
We support the community edition docker image on the following platforms with the listed set of requirements
Supported CPU architectures
- x86-64
Supported platforms
- Windows (WSL 2)
- Ubuntu (20.04 or newer)
- Other x86_64-based Linux distributions
Requirements
- Docker Desktop v4.38.0 or Docker Engine v26.1.3
- 12GB RAM allocated to Docker
- 6 VCPU cores
Installation Instructions
Windows Users
Run all commands inside WSL2 (Ubuntu recommended), not Command Prompt or PowerShell.
Starting Yellowbrick
bash
docker run -it --privileged yellowbrickdata/yb-community-edition:latestNote: Replace with whatever version you want to use.
Enable External Connections
While the interactive YBSQL prompt is great for quick work, you'll often want to connect from SQL clients, BI tools, or access the web interface. Adding port mappings enables these connections:
bash
docker run -it --privileged -p 443:443 -p 5432:5432 yellowbrickdata/yb-community-edition:latestNow you can:
- Access the web UI at https://localhost:443 (username:
ybdadmin, password:ybdadminunless changed. See Securing with Custom Password.) - Connect SQL clients to
localhost:5432
For detailed port configuration and advanced networking options, see Opening Network Ports for Clients.
Add Persistent Storage
By default, Yellowbrick stores data inside the container. For development work with datasets you want to keep, mount a local directory:
bash
docker run -it --privileged -p 443:443 -p 5432:5432 \
-v /path/to/your/data:/mnt \
yellowbrickdata/yb-community-edition:latestPLEASE NOTE - This is an example and you will need to replace /path/to/your/data with your actual directory path. Now your tables, data, and logs persist between container restarts. This becomes essential when working with larger datasets or when you need to preserve your work.
PS: PLEASE REFRAIN FROM VOLUME MOUNTING TO THE /tmp DIRECTORY AS TARGET. THIS CAN CAUSE UNWANTED BEHAVIOR.
Run in Background
The -d flag runs the container in the background, and --name ybd-ce gives it a friendly name.
bash
docker run -d --privileged -p 443:443 -p 5432:5432 --name ybd-ce \
-v /path/to/your/data:/mnt \
yellowbrickdata/yb-community-edition:latestConnect to YBSQL anytime with:
bash
docker exec -it ybd-ce bashFrom within the container, anytime you use the command ysbql, it will default to the ybdadmin user and yellowbrick database. To overwrite these defaults, use the following command
bash
ybsql -d <your-existing-database> -U <your-existing-user>Securing with Custom Password
The default password is ybdadmin - set a custom password for your first user using an environment variable:
bash
docker run -d --privileged -p 443:443 -p 5432:5432 --name ybd-ce \
-v /path/to/your/data:/mnt \
-e YB_ADMIN_PASSWORD="YourSecurePassword" \
yellowbrickdata/yb-community-edition:latestThis password applies to both the web UI and database connections, ensuring your Yellowbrick instance is protected from unauthorized access.
Debug Mode
When troubleshooting startup issues or investigating unexpected behavior, enable debug logging:
bash
# Add --debug flag for detailed startup logs
docker run -it --privileged yellowbrickdata/yb-community-edition:latest --debug
# Or use environment variable
docker run -it --privileged -e YB_DEBUG=true yellowbrickdata/yb-community-edition:latestHeadless Mode (No Web UI)
The web interface uses system resources. When you only need SQL access, disable it:
bash
# Add --YM_OFF to disable web interface
docker run -d --privileged --name ybd-ce yellowbrickdata/yb-community-edition:latest --YM_OFFSupplement Instructions
Version Selection
While :latest gives you the newest features, development systems should pin to specific versions, especially when ran alongside Yellowbrick Enterprise Edition:
bash
# Use specific version instead of latest
docker run -it --privileged yellowbrickdata/yb-community-edition:7.4.0-75659.9d5315b3Storage Considerations
Without volume mounting (-v), your data lives provided that the container runs. This is actually preferable for quick tests and experiments - no cleanup needed. Only add volume mounting when you have data worth keeping.
Extending the CE image
You can inject custom .sh or .sql scripts into the container without rebuilding the image using volume mounts. The entrypoint will execute:
- All
*.shscripts in alphabetical order - Then all
*.sqlfiles in alphabetical order
By default, the container looks in /mnt/bootstrap:
bash
docker run -it --privileged \
-v /path/to/your/data:/mnt/bootstrap \
--name ybd-ce \
yellowbrickdata/yb-community-edition:latestIf you’d prefer a different in‑container path, use YB_BOOTSTRAP_DIR:
bash
docker run -it --privileged \
-e YB_BOOTSTRAP_DIR=/opt/init \
-v /path/to/your/data:/opt/init \
--name ybd-ce \
yellowbrickdata/yb-community-edition:latestLocal Loading Support
You can load data from your local disk into Yellowbrick in three ways:
- Place files directly inside the container
- Bind‑mount a host directory
- Copy files in with
docker cp
All methods use the same SQL workflow below—just point your external location at where your files live.
1) Create files inside the container
bash
mkdir -p /opt/data
# create your CSV there, e.g. via curl, wget, echo, or vi
vi local_load.csv2) Create or upload files inside the container
On the host, prepare a directory with your CSV(s)
bash
mkdir -p ./load_filesRun the container, mounting ./load_files into a location of your choosing
bash
docker run -it --name ybd-ce -v $(pwd)/load_files:/opt/data yellowbrickdata/yb-community-edition:latest3) Copy files in with docker cp
bash
docker cp ./local_load.csv ybd-ce:/opt/data/local_load.csvTo load the data, use the following SQL prompts
sql
-- create an external storage
CREATE EXTERNAL STORAGE local_file TYPE FILE ENDPOINT 'file:///';
-- create external location where your file to load lives
CREATE EXTERNAL LOCATION local_file_loc PATH '/opt/data' EXTERNAL STORAGE local_file;
-- specify format; for our example we are using csv
create external format local_file_fmt type csv with (skip_blank_lines true, delimiter ',');
-- create a table based on the data format
create table temp(id int, name varchar(30));
-- OPTIONAL - if you want to list objects in that location
list objects external location local_file_loc;
-- load table command
load table temp from ('/local_load.csv') external location local_file_loc external format local_file_fmt;