citusdata/docker sits at 273 stars on GitHub, written primarily in Dockerfile. :ship: Docker images and configuration for Citus
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Citus is a PostgreSQL-based distributed RDBMS. For more information, see the Citus Data website.
Function
This image provides a single running Citus instance (atop PostgreSQL 18.1), using standard configuration values. It is based on the official PostgreSQL image, so be sure to consult that image’s documentation for advanced configuration options (including non-default settings for e.g. PGDATA or POSTGRES_USER).
Just like the standard PostgreSQL image, this image exposes port 5432. In other words, all containers on the same Docker network should be able to connect on this port, and exposing it externally will permit connections from external clients (psql, adapters, applications).
Usage
Since Citus is intended for use within a cluster, there are many ways to deploy it. This repository provides configuration to permit two kinds of deployment: local (standalone) or local (with workers).
Standalone Use
If you just want to run a single Citus instance, it’s pretty easy to get started:
docker run --name citus_standalone -p 5432:5432 -e POSTGRES_PASSWORD=<postgres_password> citusdata/citus
You should change '<postgres_password>' with a password you want. You should now be able to connect to 127.0.0.1 on port 5432 using e.g. psql to run a few commands (see the Citus documentation for more information).
psql -h 127.0.0.1 -p 5432 -U postgres
Password will be requested and you should enter the password you provided as parameter 'POSTGRES_PASSWORD' in the previous step (<postgres_password>)
As with the PostgreSQL image, the default PGDATA directory will be mounted as a volume, so it will persist between restarts of the container. But while the above will get you a running Citus instance, it won’t have any workers to exercise distributed query planning. For that, you may wish to try the included docker-compose.yml configuration.
Nightly Image
In addition to the latest (release) tag and the major-, minor-, and patch-specific tags, the Dockerfile in the nightly directory builds a tagged image with the latest Citus nightly (from the Citus master branch).
Docker Compose
The included docker-compose.yml file provides an easy way to get started with a Citus cluster, complete with multiple workers. Just copy it to your current directory and run:
docker-compose -p citus up
# Creating network "citus_default" with the default driver
# Creating citus_worker_1
# Creating citus_master
# Creating citus_config
# Attaching to citus_worker_1, citus_master, citus_config
# worker_1 | The files belonging to this database system will be owned by user "postgres".
# worker_1 | This user must also own the server process.
# ...
That’s it! As with the standalone mode, you’ll want to find your docker-machine ip if you’re using that technology, otherwise, just connect locally to 5432. By default, you’ll only have one worker:
If you inspect the configuration file, you’ll find that there is a container that is neither a master nor worker node: citus_config. It simply listens for new containers tagged with the worker role, then adds them to the config file in a volume shared with the master node. If new nodes have appeared, it calls master_initialize_node_metadata against the master to repopulate the node table. See Citus’ workerlist-gen repo for more details.
You can stop your cluster with docker-compose -p citus down.
License
The following license information (and associated LICENSE file) apply only to the files within this repository. Please consult Citus’s own repository for information regarding its licensing.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
No homepage URL was recorded for citusdata/docker in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does citusdata/docker have any tags?
TopGit's last sync did not record any GitHub topics for citusdata/docker. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on citusdata/docker?
The most recent commit recorded on citusdata/docker was 2 months ago, based on the GitHub push timestamp. The repository has 102 forks — one of the better signals of community interest.
Is citusdata/docker open source?
Yes — citusdata/docker ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/citusdata/docker.
What license does citusdata/docker use?
citusdata/docker is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about citusdata/docker?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/citusdata/docker is the definitive source.
Read full README in the tab above.
Want a second opinion on docker?
Ask an AI that can read this page — one click and you get its take on docker.