Coder Social home page Coder Social logo

pgrouting / docker-pgrouting Goto Github PK

View Code? Open in Web Editor NEW
64.0 64.0 34.0 184 KB

Docker for pgRouting

Home Page: https://hub.docker.com/repository/docker/pgrouting/pgrouting

License: GNU General Public License v2.0

Dockerfile 96.06% Makefile 0.68% Shell 3.26%

docker-pgrouting's Introduction

pgRouting - Routing on PostgreSQL

Join the chat at https://gitter.im/pgRouting/pgrouting Join discourse

Branches

  • The main branch has the development of the next micro release
  • The develop branch has the development of the next minor/major release

For the complete list of releases go to: https://github.com/pgRouting/pgrouting/releases

For the release notes go to: https://docs.pgrouting.org/latest/en/release_notes.html

LINKS

STATUS

Status of the project can be found here

INTRODUCTION

pgRouting extends the PostGIS/PostgreSQL geospatial database to provide geospatial routing and other network analysis functionality.

This library contains the following features:

  • All Pairs Shortest Path Algorithms
  • A-star algorithm
  • Bi-directional algorithms
  • A variety of applications of Dijkstra algorithms
    • Cost functions
    • With points
  • Driving Distance
    • With points
  • Yen's algorithm
  • Traveling Sales Person (TSP)

and many more.

The latest documentation: https://docs.pgrouting.org/latest

REQUIREMENTS

Building requirements

  • perl
  • C and C++ compilers
    • Compiling with Boost 1.56 up to Boost 1.74 requires C++ Compiler with C++03 or C++11 standard support
    • Compiling with Boost 1.75 requires C++ Compiler with C++14 standard support
  • Postgresql = Supported version by PostgreSQL
  • The Boost Graph Library (BGL) >= 1.56
  • CMake >= 3.2
  • 7.0 > Sphinx >= 4.0.0

User's requirements

  • PostGIS

COMPILATION

For MinGW on Windows

mkdir build
cd build
cmake -G"MSYS Makefiles" ..
make
make install

Also pre-built Windows binaries can be downloaded from https://postgis.net/windows_downloads

For Linux

mkdir build
cd build
cmake  ..
make
sudo make install

Build with documentation (requires Sphinx)

cmake -DWITH_DOC=ON ..

Postgresql

createdb mydatabase
psql mydatabase -c "CREATE EXTENSION pgrouting CASCADE"

USAGE

See online documentation: http://docs.pgrouting.org/latest/en/index.html

LICENSE

  • Most features are available under GPL-2.0-or-later
  • Some Boost extensions are available under Boost license (see LICENSE_1_0.txt)
  • Some code contributed by iMaptools.com is available under MIT-X license.

docker-pgrouting's People

Contributors

aruneko avatar cayetanobv avatar cvvergara avatar krashish8 avatar robe2 avatar sanak avatar smellman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

docker-pgrouting's Issues

Add workshop

The pgRouting Workshop for FOSS4G 2021 Argentina has been released as v2.7.0.
@cvvergara and I thought it would be good to have it available as part of the Docker image.

@cayetanobv , May we please know your opinion? Is it possible?

Add vrpRouting

There is a new project in pgRouting Github organisation: vrpRouting
@krashish8 and I thought it would be nice to have it available via Docker.

vrpRouting has the dependency Vroom, which also can be run through Docker.

This brought up the question, if it is better add vrpRouting to existing Docker images or have its own one.

@cayetanobv , what is your opinion? My current preference would be to add it to docker-pgrouting. What do you think would be best?

Support single docker image for a pgRouting minor release

We are having different docker images for different pgRouting patch releases.

Maybe we can have a single image a-b-x.y containing the latest patch release x.y.z, instead of several images a-b-x.y.0, a-b-x.y.1, etc because anyway, users would want to use the latest patch release.
(a = PostgreSQL version, b = PostGIS version, x.y.z = major.minor.patch version of pgRouting)

PostGIS also maintains a single docker image for a minor release: https://github.com/postgis/docker-postgis#versions--2022-06-22- and that contains the latest patch release.

@pgRouting/admins

Docker Hub - problem adding new versions

Hi @pgRouting/admins ,

I can't generate new image builds (we need to add new versions and change latest) because pgRouting Github repository does not appear here for me:

image

My account is linked as Github account at Dockerhub:

image

Add pgRouting 3.0.0 release versions

Is your feature request related to a problem? Please describe.
pgRouting 3.0.0 was released at last May 20th, so it may be better to update that version.
https://lists.osgeo.org/pipermail/pgrouting-users/2020-May/002462.html

Describe the solution you'd like
Probably, the following images add/update will be necessary ?

  • 10-2.5-3.0.0 (Add)
  • 10-2.5-develop (Update)
  • 10-2.5-master (Update)
  • 11-2.5-3.0.0 (Add)
  • 11-2.5-develop (Update)
  • 11-2.5-master (Update)
  • 12-3.0-3.0.0 (Add)
  • 12-3.0-develop (Update)
  • 12-3.0-master (Update)

Provide image for arm64 platform

Problem
The docker image is only published for amd64 architecture. For Developers working on Apple silicon this means they will run in Rosetta2 emulation.

Improvement
Create and push an arm64 build

Alternatives
The current image is working but is running slow due to the emulation. Other alternative is doing a custom build on the development system based on the docker files from the repo.

Does it support the installation of Alpine basic image?

Problem

Does it support the installation of Alpine basic image? Both Postgres and PostGIS support the installation under the alpine basic image. If so, what do I need to do?
To Reproduce

Expectation

Sample Data

Platform/versions

SELECT version();
SELECT postgis_full_version();
SELECT pgr_version();

Rename branch `development` to `develop`

In pgRouting project we kind of stick to the convention to name the development branch develop and it took me quite some time to figure out why I couldn't find it ;-)

Publish newest images to dockerhub

Problem
I'm trying to use a pgrouting image in my setup. The images on dockerhub have not been updated for about two years though, so pulling from there gives me outdated images. The images in this repo seem to be updated more frequently.

Improvement
Can these images (preferably automatically) be pushed to dockerhub, so that we can simply base our setup on the latest there.

Alternatives
The alternative we're now looking at is copy-pasting the Dockerfiles from this repo into our own. That is obviously not a sustainable method, and creates more complicated Dockerfiles in our own repo, so we would prefer using the images from dockerhub.

Docker Hub requirements

The following email was sent to me regarding the "Docker-Sponsored Open Source Program" requirements:

Thank you for your interest in renewing your membership with the Docker-Sponsored Open Source Program. Upon reviewing your application for pgRouting, we determined that your project mostly meets the qualification criteria, with the exception that it should be in active development. This means image updates are pushed regularly to Docker Hub within the past 6 months or dependencies are updated regularly, even if the project source code is stable.

If you still wish to proceed with the renewal and continue benefiting from the Docker-Sponsored Open Source Program, we kindly ask you to reply to this email once you have pushed updated images to Docker Hub. Please keep in mind that failure to provide the necessary updates or respond to this email within 2 working weeks may result in the de-provisioning of your benefits.

It seems that this repository hasn't been maintained for some time now, so the question is, is there still interest in using Docker Hub?

@cayetanobv @sanak

Apply for OSS project with Docker Hub?

Found this email in my mailbox:

Hi there,

As one of the users of Docker Hub’s Autobuild service, we wanted to reach out and let you know that from June 18th, 2021 users on the free plan will no longer have access to the Autobuild feature. This means that any of your currently configured Autobuild will fail to run and you will need to upgrade to a Pro or Team account to restore functionality. You can read more about the changes on our blog.

To ease this transition we are offering 20% off Docker Pro and Team for new and returning subscriptions through June 18, 2021 so you can continue using that Autobuild goodness you know and love.

If you’re part of the Docker Open Source program, and currently leveraging Autobuilds as part of a Free plan, we want to continue supporting you and we will be reaching out to make sure you will not be impacted by this change.

Docker is wholly focused on providing you amazing and magical experiences. We really appreciate your support and the community’s understanding as the whole industry battles against these abusive crypto miners. .

Thanks,
Team Docker

Docker Hub becomes a bit annoying, adding another limitation for non-paying users. We could apply as an OSS project, but the form questions are slighly ridiculous: https://www.docker.com/community/open-source/application

Do we want to look for an elternative? Is there one?
@cayetanobv @smellman @aruneko

[Solved] Error launching with docker-compose (`docker-credential-secretservice not installed or not available in PATH`)

I was having some trouble launching with docker-compose as per the README, getting the following error:

docker-credential-secretservice not installed or not available in PATH

Googling led me here. It is a solution for MAC OS, but it worked for me on Ubuntu 18.04.

The solution was to open ~/.docker/config.json and removing the credsStore entry.

Disclaimer: I don't really know what this line does, I am just doing local testing so I am not worried about security here, so I advise doing more homework before doing this on a production server or other potentially dangerous environment.

Errors in building existing docker images

E.g. for 13-3.1-3.2.0:

$ docker build .
Sending build context to Docker daemon  8.192kB
Step 1/6 : FROM postgis/postgis:13-3.1
 ---> 3a40ce4c6592
Step 2/6 : LABEL maintainer="pgRouting Project - https://pgrouting.net"
 ---> Using cache
 ---> f02131a161af
Step 3/6 : ENV PGROUTING_VERSION 3.2.0
 ---> Using cache
 ---> 883f2d5437d6
Step 4/6 : ENV PGROUTING_SHA256 5cf4d2147cf0897b5e2de9f1b526339abf293226c411882dba4901ba049092ab
 ---> Using cache
 ---> 9a8e9b1517fb
Step 5/6 : RUN set -ex  && apt update  && apt install -y         libboost-atomic1.67.0         libboost-chrono1.67.0         libboost-graph1.67.0         libboost-date-time1.67.0         libboost-program-options1.67.0         libboost-system1.67.0         libboost-thread1.67.0         libcgal13  && apt install -y         build-essential         cmake         wget         libboost-graph-dev         libcgal-dev         libpq-dev         postgresql-server-dev-${PG_MAJOR}  && wget -O pgrouting.tar.gz "https://github.com/pgRouting/pgrouting/archive/v${PGROUTING_VERSION}.tar.gz"  && echo "$PGROUTING_SHA256 *pgrouting.tar.gz" | sha256sum -c -  && mkdir -p /usr/src/pgrouting  && tar         --extract         --file pgrouting.tar.gz         --directory /usr/src/pgrouting         --strip-components 1  && rm pgrouting.tar.gz  && cd /usr/src/pgrouting  && mkdir build  && cd build  && cmake ..  && make  && make install  && cd /  && rm -rf /usr/src/pgrouting  && apt-mark manual postgresql-13  && apt purge -y --autoremove         build-essential         cmake         wget         libcgal-dev         libpq-dev         libboost-graph-dev         postgresql-server-dev-${PG_MAJOR}  && rm -rf /var/lib/apt/lists/*
 ---> Running in 63a8c7a0385d
+ apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
Get:4 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [161 kB]
Get:5 http://apt.postgresql.org/pub/repos/apt bullseye-pgdg InRelease [91.7 kB]
Get:6 http://deb.debian.org/debian bullseye/main amd64 Packages [8,182 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt bullseye-pgdg/main amd64 Packages [249 kB]
Get:8 http://apt.postgresql.org/pub/repos/apt bullseye-pgdg/13 amd64 Packages [2,575 B]
Get:9 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [2,592 B]
Fetched 8,889 kB in 15s (583 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
53 packages can be upgraded. Run 'apt list --upgradable' to see them.
+ apt install -y libboost-atomic1.67.0 libboost-chrono1.67.0 libboost-graph1.67.0 libboost-date-time1.67.0 libboost-program-options1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libcgal13

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Package libcgal13 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package libboost-atomic1.67.0
E: Couldn't find any package by glob 'libboost-atomic1.67.0'
E: Unable to locate package libboost-chrono1.67.0
E: Couldn't find any package by glob 'libboost-chrono1.67.0'
E: Unable to locate package libboost-graph1.67.0
E: Couldn't find any package by glob 'libboost-graph1.67.0'
E: Unable to locate package libboost-date-time1.67.0
E: Couldn't find any package by glob 'libboost-date-time1.67.0'
E: Unable to locate package libboost-program-options1.67.0
E: Couldn't find any package by glob 'libboost-program-options1.67.0'
E: Unable to locate package libboost-system1.67.0
E: Couldn't find any package by glob 'libboost-system1.67.0'
E: Unable to locate package libboost-thread1.67.0
E: Couldn't find any package by glob 'libboost-thread1.67.0'
E: Package 'libcgal13' has no installation candidate
The command '/bin/sh -c set -ex  && apt update  && apt install -y         libboost-atomic1.67.0         libboost-chrono1.67.0         libboost-graph1.67.0         libboost-date-time1.67.0         libboost-program-options1.67.0         libboost-system1.67.0         libboost-thread1.67.0         libcgal13  && apt install -y         build-essential         cmake         wget         libboost-graph-dev         libcgal-dev         libpq-dev         postgresql-server-dev-${PG_MAJOR}  && wget -O pgrouting.tar.gz "https://github.com/pgRouting/pgrouting/archive/v${PGROUTING_VERSION}.tar.gz"  && echo "$PGROUTING_SHA256 *pgrouting.tar.gz" | sha256sum -c -  && mkdir -p /usr/src/pgrouting  && tar         --extract         --file pgrouting.tar.gz         --directory /usr/src/pgrouting         --strip-components 1  && rm pgrouting.tar.gz  && cd /usr/src/pgrouting  && mkdir build  && cd build  && cmake ..  && make  && make install  && cd /  && rm -rf /usr/src/pgrouting  && apt-mark manual postgresql-13  && apt purge -y --autoremove         build-essential         cmake         wget         libcgal-dev         libpq-dev         libboost-graph-dev         postgresql-server-dev-${PG_MAJOR}  && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

@pgRouting/admins

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.