pgRouting / admin

Cross-project tasks and organizational items
1 stars 0 forks source link

pgRouting Docker images #16

Closed cayetanobv closed 5 years ago

cayetanobv commented 5 years ago

Hi all,

Taking into account the interest that it can have for the community maybe we could develop our own pgRouting Docker images with all version combinations of PostgreSQL+PostGIS+pgRouting (i.e. PostgreSQL 11 + PostGIS 2.5 + pgRouting 3.0).

Tasks:

Examples of Docker images I've developed:

When I have some free time I can do it.

Thanks,

dkastl commented 5 years ago

Do you have experience how to automate this? My knowledge of Docker is very little. Can we integrate this with Travis CI or some other tool, so we can have tagged versions of the Docker images but also some, that are updated, when master or develop branch get updated.

dkastl commented 5 years ago

I don't really want to have Docker images, that have no maintainer. To install the packaged version we can't use Github, I guess, because we need to wait, until new binaries were released by Debian.

dkastl commented 5 years ago

I just found out, that I had already created an organization at Docker long time ago.

cayetanobv commented 5 years ago

Docker is a very powerful tool and I use for all my projects all the days (development and production environments). The idea behind that is to have our own compiled versions. Once Dockerfiles for a version are prepared is very easy to create new versions. You can see this example for GDAL: https://github.com/GeographicaGS/Docker-GDAL2/blob/master/2.3.2/Dockerfile

We don't need TravisCI because Docker hub has a tool to automate builds on pushes to Github repository. You can see this screenshot from my dockerhub dashboard: image

dkastl commented 5 years ago

What is your Docker username, so I can add you to the organization?

cayetanobv commented 5 years ago

My docker user is cayetanobv.

dkastl commented 5 years ago

Thanks, here it is: https://hub.docker.com/u/pgrouting/ Let me know, what needs to be done on the Github side. We probably need a repository ... or do we also need one for osm2pgrouting for example? Or do we just create one Docker image for the whole pgRouting tools?

cayetanobv commented 5 years ago

Thanks @dkastl . I think we need a repository to store Dockerfiles. The name of repository could be "docker-pgrouting". We can include osm2pgrouting in the same image to use with each pgRouting version.

dkastl commented 5 years ago

@cayetanobv , I have created one: https://github.com/pgRouting/docker-pgrouting You also should be in the Github "Admin" team and have pretty much all permissions. But let me know, if some settings aren't possible.

dkastl commented 5 years ago

So we can also move our conversation to issues in that repository and talk there about things like choosing versions, etc.. I'm curious how all this works and is done properly.

cayetanobv commented 5 years ago

Ok, thanks @dkastl I think next week I can start working on this repository.

nahuelange commented 5 years ago

Hi, One thing really important is to tag clearly each version, with stucked postgre/postgis to avoid surprises when an update comes.

cayetanobv commented 5 years ago

This a very first version: https://github.com/pgRouting/docker-pgrouting/pull/1

My approximation to this issue:

@dkastl or @cvvergara I need that you aprove PR (https://github.com/pgRouting/docker-pgrouting/pull/1) to continue with this works and to see if automate build is working fine. After that you could pull Docker images and you could test it. Maybe we could write rules about how this repository should work (RFC?). What do you think about it?

Thanks!

dkastl commented 5 years ago

@cayetanobv , well I would say, that we first clarify the target audience of these Docker images.

We have the Travis CI build matrix to test pgRouting against supported versions of PostgreSQL/PostGIS, but we aren't going to provide Docker for that purpose, right?

On the other hand, if the whole process would be automated anyway, we could just support the combinations, that we also test in our Travis setup.

But I'm not sure. Maybe other people than me can better describe, why they would prefer Docker and what versions should be available there. @nahuelange , do you have any opinion on this?

cayetanobv commented 5 years ago

@dkastl , you are right, I think the purpose of Docker images is people (community) use it (and not machines ;) like TravisCI). We could start with images with last versions of pgRouting (pgrouting dev - 3.0.0-dev- and last stable - 2.6.1) and Postgres with dependencies with bleeding edge versions. I think this is people want it (What do you think about it @nahuelange ?).

By the way, could you aprove PR @dkastl to check automate builds?

Thanks!

dkastl commented 5 years ago

I approved it.

cayetanobv commented 5 years ago

Thanks @dkastl . I've fixed path in 2.6.1 version in build settings and image building is working fine (version 3.0.0-dev is already builded): https://hub.docker.com/r/pgrouting/docker-pgrouting/builds/

dkastl commented 5 years ago

Thanks! Is this sufficient to close this issue? We can create new more specific issues for further improvements or alternative configurations.

cayetanobv commented 5 years ago

Yes, I think we can close this issue. This is already working on (images are already builded). We can test it and we can open new issues to discuss improvements or bugs.

cvvergara commented 5 years ago

I hope 3.0.0-dev is a bot, because right now its getting so many changes