This repository contains step-by-step instructions and resources to set up Open Data Cube (ODC) using Docker. Open Data Cube enables efficient handling and analysis of large geospatial datasets. For detail tutorial, please refer to our ODC notion or Tutorial.pdf in the repo.
Docker is a platform for building, running, and sharing containerized applications. Containers allow you to package software and its dependencies together for seamless deployment.
For a detailed introduction to Docker, refer to:
Install Docker Engine for your operating system:
Note: If you encounter WSL issues, follow the troubleshooting steps provided in the installation guide.
Ensure PostgreSQL and Datacube containers are on the same network:
docker network inspect bridge
docker network create <network-name>Pull the necessary images from Docker Hub:
docker pull postgres
docker pull opendatacube/cube-in-a-box- PostgreSQL:
docker run -d --name <postgres-container-name> -p 8080:5432 -e POSTGRES_PASSWORD=<password> postgres- Datacube:
docker run -d --name <datacube-container-name> -p 443:8888 -e DB_HOSTNAME=postgres -e DB_USERNAME=postgres -e DB_PASSWORD=<password> opendatacube/cube-in-a-boxRun the following to access the shell:
docker exec -it <datacube-container-name> bashInitialize the database:
datacube -v system initIf errors occur, create and edit datacube.conf with appropriate settings.
Prepare the following:
- Python script: Export metadata (
.py). - Metadata file: Dataset description (
.yaml). - Product definition: To load datasets (
.yaml).
Follow the single timestamp process but ensure consistency in the product and variable names across timestamps.
Use provided modules to handle NetCDF files:
Split_nc.py: Split time series data into slices.Metadata_auto_generater.py: Generate metadata.Metadata_import.bash: Automate metadata import.
This repository includes:
Split_nc.py: Split NetCDF files.Metadata_auto_generater.py: Auto-generate metadata.Metadata_import.bash: Automate metadata import.