A minimal GDAL build for AWS Lambda using Amazon Linux 2023 (AL2023) runtime. This project provides Docker images with GDAL and optional Go support for geospatial processing in AWS Lambda environments.
- Built on Amazon Linux 2023 (AL2023) for compatibility with AWS Lambda
- Minimal build with essential GDAL components
- Go runtime support available
- Deployable as AWS Lambda layers
The following geospatial formats are supported:
- GTIFF, MEM, VRT, Derived, HFA
- GeoJSON, TAB, Shape, KML
- GDAL: 3.11.3
- Go: 1.24.5 (for Go runtime)
To build the Docker image locally:
# Clone the repository
git clone https://github.com/yourusername/al2023-gdal.git
cd al2023-gdal
# Build the Docker image
docker build -t al2023-gdal:3.11 \
--build-arg GDAL_VERSION=3.11.3 \
-f dockerfiles/x86/Dockerfile .
# Build the Go runtime image (optional)
docker build -t al2023-gdal-go:3.11-1.24 \
--build-arg GDAL_VERSION=3.11 \
--build-arg GO_VERSION=1.24.5 \
-f dockerfiles/x86/runtimes/go.Dockerfile .You can test the Docker image locally using the provided test scripts:
# Run tests with volume mount
docker run --entrypoint bash \
-v /path/to/your/local/repo:/local \
--rm -it al2023-gdal:3.11 \
/local/tests/tests.shExample with absolute path:
docker run --entrypoint bash \
-v /home/marcel/PycharmProjects/al2023-gdal:/local \
--rm -it al2023-gdal:3.11 \
/local/tests/tests.shTo get an interactive shell in the container:
docker run --entrypoint bash \
-v /home/marcel/PycharmProjects/al2023-gdal:/local \
--rm -it al2023-gdal:3.11This project uses GitHub Actions for continuous integration and deployment. The workflow:
- Builds the GDAL Docker image
- Runs tests to verify functionality
- Publishes the image to GitHub Container Registry
- Creates and deploys AWS Lambda layers
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.