Giter Club home page Giter Club logo

docker-postgis's Introduction

docker-postgis

CI

This repository contains a collection of templated Dockerfile for image variants designed to support PostGIS through PostgreSQL.

It was decided to start sunseting this project in favor of upstream - https://github.com/postgis/docker-postgis

Usage

Template Variables

  • POSTGIS_MAJOR - Major version number of PostGIS
  • POSTGIS_VERSION - Version number for postgresql-X.X-postgis-X.X package
  • PG_MAJOR - Major version number of the target PostgreSQL database instance
  • VARIANT - Base container image variant

Environment Variables

Because this image builds on the PostgreSQL container image, it supports the same environment variables. While none of these variables are required, they may aid you in using the image.

POSTGRES_PASSWORD

This environment variable is recommended for you to use the PostgreSQL image. This environment variable sets the superuser password for PostgreSQL. The default superuser is defined by the POSTGRES_USER environment variable. In the above example, it is being set to "mysecretpassword".

POSTGRES_USER

This optional environment variable is used in conjunction with POSTGRES_PASSWORD to set a user and its password. This variable will create the specified user with superuser power and a database with the same name. If it is not specified, then the default user of postgres will be used.

PGDATA

This optional environment variable can be used to define another location - like a subdirectory - for the database files. The default is /var/lib/postgresql/data, but if the data volume you're using is a fs mountpoint (like with GCE persistent disks), Postgres initdb recommends a subdirectory (for example /var/lib/postgresql/data/pgdata ) be created to contain the data.

POSTGRES_DB

This optional environment variable can be used to define a different name for the default database that is created when the image is first started. If it is not specified, then the value of POSTGRES_USER will be used.

POSTGRES_INITDB_ARGS

This optional environment variable can be used to send arguments to postgres initdb. The value is a space separated string of arguments as postgres initdb would expect them. This is useful for adding functionality like data page checksums: -e POSTGRES_INITDB_ARGS="--data-checksums".

Testing

An example of how to use cibuild to build and test an image:

$ CI=1 POSTGIS_MAJOR=3 POSTGIS_VERSION=3.0.3+dfsg-2.pgdg100+1 \
  PG_MAJOR=13.3 VARIANT=slim \
  ./scripts/cibuild

docker-postgis's People

Contributors

bryanquigley avatar colekettler avatar hectcastro avatar moradology avatar notthatbreezy avatar rbreslow avatar sharph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-postgis's Issues

Create PostgreSQL 12.x container image

Similar to #20, add PostgreSQL version 12.x to the build matrix and note the PostGIS version that gets installed along with it. Ensure that the minor release version selected is inline with whatever is most current on RDS.

Enable PostGIS on Database Initialization

When the container is created for the first time from within a docker-compose definition, a database is created with the given host, username, and password. At this point, we should also enable the PostGIS extension.

One option may be to use a PostGIS enabled database template, like the one mentioned here: https://docs.bitnami.com/aws/infrastructure/postgresql/configuration/create-postgis-template/

Currently, this enabling is done by sister containers (Django / Scala). However, since this image is named "postgis", it should not rely on an external step to enable that core functionality.

For further discussion, see here: https://azavea.slack.com/archives/C02DNK1QC/p1624293605188600

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.