| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Deploy anywhere, from a single laptop to your own datacenter
Start Core on your machine with:
curl -fsSL https://get.firebolt.io/ | bashIf you want to work with Docker directly, you can also run on Linux:
docker run -i --rm \
--ulimit memlock=8589934592:8589934592 \
--security-opt seccomp=unconfined \
-p 127.0.0.1:3473:3473 \
-v ./firebolt-core-data:/var/lib/firebolt \
ghcr.io/firebolt-db/engine:devOr on MacOS:
mkdir -p -m 777 firebolt-core-data
# On macOS the Docker Desktop file-sharing backend cannot stat the engine's Unix
# domain socket when it lives on the bind-mounted data directory, so relocate the
# socket onto an in-memory tmpfs at /run/firebolt via a config file.
cat > firebolt-core-data/config.yaml <<'EOF'
schema_version: "1.0"
endpoints:
http:
listeners:
- type: tcp
port: 3473
- type: unix
path: /run/firebolt/query_endpoint
EOF
docker run -i --rm \
--user root \
--ulimit memlock=8589934592:8589934592 \
--security-opt seccomp=unconfined \
-p 127.0.0.1:3473:3473 \
-v ./firebolt-core-data:/var/lib/firebolt \
--tmpfs /run/firebolt:rw,mode=2770,uid=3473,gid=0 \
ghcr.io/firebolt-db/engine:devCaution
This will create a local firebolt-core-data directory, owned by root, where data, metadata, logs and diagnostic information are persisted.
Note
The Firebolt Core image stores writable state under /var/lib/firebolt. If you use docker run directly, bind mount your local data directory to /var/lib/firebolt to persist data across container restarts.
You can also start a single node cluster by cloning this repository and then run the following command within the repository root directory:
docker compose upUse this setup if you want to leverage the computing power of multiple hosts.
Add in config.json one entry (either hostname or IP address) for each of the nodes; node 0 is the first node in the array:
{
"nodes": [
{
"host": "ip-or-host-of-node-0"
},
{
"host": "ip-or-host-of-node-1"
},
{
"host": "ip-or-host-of-node-2"
}
]
}Make sure that this repository and your config.json are present on each of the nodes.
Create the volume directory and assign correct permissions:
mkdir -p ./firebolt-core-data
sudo chown -R 3473:3473 ./firebolt-core-dataActivate node 0:
docker compose upActivate all further nodes by running on each host:
NODE=1 docker compose upIncrease NODE for each further node.
If your host is macOS then you will need to run the Core containers as root:
CORE_USER=root docker compose upSee also:
For Kubernetes-based deployments, see the Firebolt self-managed documentation.
Software for your host OS:
Software for your Docker host:
Resources for each node (either a local machine or a VM instance):
Note
There is no universally correct amount of RAM and disk space for running Firebolt Core, and the above are simply rough guidelines for running some simple queries as a way to get started. The ideal amount of RAM and disk space depends heavily on the specific workload that you are running against a Firebolt Core deployment.
You can submit queries to a Firebolt Core cluster using any HTTP client (like cURL), the official Firebolt CLI as a standalone binary, or by invoking the CLI from within the Core Docker container.
# Use the firebolt CLI available within the container
docker exec -ti firebolt-core firebolt -c "SELECT 42;"# Run the standalone fb CLI
fb --core "SELECT 42;"# Use cURL
curl -s "http://localhost:3473/?output_format=psql" --data-binary "SELECT 42";See also:
docker pull ghcr.io/firebolt-db/firebolt-core-uiFIREBOLT_CORE_URL="http://localhost:3473"
if [ "$(uname)" = "Darwin" ]; then
FIREBOLT_CORE_URL="http://host.docker.internal:3473"
fi
docker run --rm --name firebolt-core-ui -p 9100:9100 -e FIREBOLT_CORE_URL=$FIREBOLT_CORE_URL ghcr.io/firebolt-db/firebolt-core-ui| Back | FazBrowse Home | New Git URL |