[GeoNode-users] GeoNode-Project Docker Postgres Access

Julierme Pinheiro juliermeopensourcedeveloper at gmail.com
Mon Jan 14 13:35:06 PST 2019


Hi Francesco,

I went through step 4 and 5 because there is note on the guide(
https://github.com/GeoNode/geonode-project/tree/2.8): that says:

Run docker-compose to start it up (get a cup of coffee or tea while you
wait)

*2 - Remember to update "wsgi.py" in case you are using "local_settings"
vim my_geonode/wsgi.py --> os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"my_geonode.local_settings")*

I appreciated your time


Julierme



On Mon, Jan 14, 2019 at 7:28 PM Francesco Bartoli <xbartolone at gmail.com>
wrote:

> Actually I don’t understand why you are doing steps 4. And 5.
>
> Ciao
> Francesco
> Il 14 gen 2019, 22:05 +0100, Julierme Pinheiro <
> juliermeopensourcedeveloper at gmail.com>, ha scritto:
>
> ... output for docker ps:
>
> 0edbae6e9989        geonode/nginx:geoserver    "nginx -g 'daemon of…"   6
> minutes ago       Up 6 minutes                    0.0.0.0:80->80/tcp
> nginx4my_geonode
> f71aed729615        my_geonode_django          "/usr/src/my_geonode…"   6
> minutes ago       Restarting (1) 21 seconds
> ago                                        django4my_geonode
> d1307b6eca5a        my_geonode_celery          "/usr/src/my_geonode…"   6
> minutes ago       Restarting (1) 59 seconds
> ago                                        celery4my_geonode
> 9865b9317a98        geonode/geoserver:2.13.x   "/usr/local/tomcat/t…"   6
> minutes ago       Up 6 minutes
> 8080/tcp                             geoserver4my_geonode
> b63b3eed5560        geonode/postgis:9.6        "docker-entrypoint.s…"   16
> minutes ago      Up 6 minutes
> 5432/tcp                             db4my_geonode
> c70325c1f57e        elasticsearch:2.4.1        "/docker-entrypoint.…"   16
> minutes ago      Up 6 minutes                    9200/tcp,
> 9300/tcp                   elasticsearch4my_geonode
> 4412fd012ca9        rabbitmq                   "docker-entrypoint.s…"   16
> minutes ago      Up 6 minutes                    4369/tcp, 5671-5672/tcp,
> 25672/tcp   rabbitmq4my_geonode
>
> and out put for docker-compose ps
>
> celery4my_geonode          /usr/src/my_geonode/entryp ...
> Restarting
> db4my_geonode              docker-entrypoint.sh postgres    Up
> 5432/tcp
> django4my_geonode          /usr/src/my_geonode/entryp ...
> Restarting
> elasticsearch4my_geonode   /docker-entrypoint.sh elas ...   Up
> 9200/tcp, 9300/tcp
> geoserver4my_geonode       /usr/local/tomcat/tmp/entr ...   Up
> 8080/tcp
> gsconf4my_geonode          /bin/true                        Exit
> 0
> nginx4my_geonode           nginx -g daemon off;             Up
> 0.0.0.0:80->80/tcp
> rabbitmq4my_geonode        docker-entrypoint.sh rabbi ...   Up
> 25672/tcp, 4369/tcp, 5671/tcp, 5672/tcp
>
> Kind Regards
>
> Julierme
>
>
> On Mon, Jan 14, 2019 at 7:02 PM Julierme Pinheiro <
> juliermeopensourcedeveloper at gmail.com> wrote:
>
>> Hi Francesco,
>>
>> Thank you very much for  your reply. After our discussion in here. I
>> started all over again and I will report the installation step by step.
>>
>> 1 - docker-compose down
>>
>> 2 - docker system prune -a
>>
>> 3 - docker-compose.override.yml is in its default pattern
>>
>> version: '2'
>> services:
>>   django:
>>     environment:
>>       DEBUG: 'True'
>>       GEONODE_LB_HOST_IP: localhost
>>       GEONODE_LB_PORT: 80
>>       SITEURL: http://localhost/
>>       ALLOWED_HOSTS: "['localhost']"
>>       GEOSERVER_PUBLIC_LOCATION: http://localhost/geoserver/
>>
>>   celery:
>>     environment:
>>       DEBUG: 'True'
>>       GEONODE_LB_HOST_IP: localhost
>>       GEONODE_LB_PORT: 80
>>       SITEURL: http://localhost/
>>       ALLOWED_HOSTS: "['localhost']"
>>       GEOSERVER_PUBLIC_LOCATION: http://localhost/geoserver/
>>
>>   geoserver:
>>     environment:
>>       GEONODE_LB_HOST_IP: localhost
>>       GEONODE_LB_PORT: 80
>>       NGINX_BASE_URL:
>>
>> 4 - cp ...my_geonode/local_settings.py.sample my_geonode/local_settings.py
>>
>> 5 - vim ... my_geonode/wsgi.py
>>
>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_geonode.local_settings")
>>
>> 6 - docker-compose build --no-cache
>>
>> 7 - docker-compose up -d
>>
>> 8 - docker-compose stop
>>
>>
>> 9 - vim docker-compose.override.yml
>>
>> version: '2'
>> services:
>>   django:
>>     environment:
>>       DEBUG: 'True'
>>       GEONODE_LB_HOST_IP: 172.21.14.02
>>       GEONODE_LB_PORT: 80
>>       SITEURL: http://172.21.14.02/
>>       ALLOWED_HOSTS: "['172.21.14.02']"
>>       GEOSERVER_PUBLIC_LOCATION: http://172.21.14.02/geoserver/
>>
>>   celery:
>>     environment:
>>       DEBUG: 'True'
>>       GEONODE_LB_HOST_IP: 172.21.14.02
>>       GEONODE_LB_PORT: 80
>>       SITEURL: http://172.21.14.02/
>>       ALLOWED_HOSTS: "['172.21.14.02']"
>>       GEOSERVER_PUBLIC_LOCATION: http://172.21.14.02/geoserver/
>>
>>   geoserver:
>>     environment:
>>       GEONODE_LB_HOST_IP: 172.21.14.02
>>       GEONODE_LB_PORT: 80
>>       NGINX_BASE_URL:
>>
>> 10 - docker-compose up --build -d
>>
>> 11 - docker ps
>>
>> 12 - docker-compose ps
>>
>> 13 - docker-compose logs -f django
>> django4my_geonode | django.db.utils.OperationalError: could not connect to server: Connection refused
>> django4my_geonode |  Is the server running on host "localhost" (127.0.0.1) and accepting
>> django4my_geonode |    TCP/IP connections on port 5432?
>> django4my_geonode | could not connect to server: Network is unreachable
>> django4my_geonode |      Is the server running on host "localhost" (::1) and accepting
>> django4my_geonode |  TCP/IP connections on port 5432?
>>
>> 14 - docker-compose logs -f celery
>>
>> celery4my_geonode | django.db.utils.OperationalError: could not connect to server: Connection refused
>> celery4my_geonode |   Is the server running on host "localhost" (127.0.0.1) and accepting
>> celery4my_geonode |    TCP/IP connections on port 5432?
>> celery4my_geonode | could not connect to server: Network is unreachable
>> celery4my_geonode |      Is the server running on host "localhost" (::1) and accepting
>> celery4my_geonode |  TCP/IP connections on port 5432?
>>
>> I am still having the issue related to database connection.
>>
>> Kind regards
>>
>> Julierme
>>
>>
>>
>>
>>
>> On Mon, Jan 14, 2019 at 3:51 PM Francesco Bartoli <xbartolone at gmail.com>
>> wrote:
>>
>>> Some questions inline to figure out your environment.
>>> Il 14 gen 2019, 18:26 +0100, Julierme Pinheiro <
>>> juliermeopensourcedeveloper at gmail.com>, ha scritto:
>>>
>>> Hi Francesco,
>>>
>>> Thank you very much for your reply.
>>>
>>> I changed the docker-compose.override.yml from localhost to
>>> 172.21.14.02 (Centos7 VM IP running GeoNode-Project installed via docker).
>>> After doing that, geonode django and celery container logs point to the
>>> error:
>>>
>>> django4my_geonode | django.db.utils.OperationalError: could not connect
>>> to server: No route to host
>>> django4my_geonode |     Is the server running on host "localhost" (::1)
>>> and accepting
>>> django4my_geonode |     TCP/IP connections on port 5432?
>>>
>>> Trying to solve this issue, as localhost corresponds to 172.21.14.02, I
>>> went to local_settings and changed from DATABASES: { HOST: 'localhost' ,
>>> to  DATABASES: { HOST: '172.21.14.02'}, geonode django and celery container
>>> logs point to the error:
>>>
>>> django4my_geonode | django.db.utils.OperationalError: could not connect
>>> to server: No route to host
>>> django4my_geonode |     Is the server running on host "172.21.14.02" and
>>> accepting
>>> django4my_geonode |     TCP/IP connections on port 5432
>>>
>>> The error remains the same.
>>>
>>> Yes. db4my_geonode is up and running. And find bellow the outcome for
>>> docker-compose ps:
>>>
>>> celery4my_geonode          /usr/src/my_geonode/entryp ...
>>> Restarting
>>> db4my_geonode              docker-entrypoint.sh postgres    Up
>>> 5432/tcp
>>> django4my_geonode          /usr/src/my_geonode/entryp ...
>>> Restarting
>>> elasticsearch4my_geonode   /docker-entrypoint.sh elas ...   Up
>>> 9200/tcp, 9300/tcp
>>> geoserver4my_geonode       /usr/local/tomcat/tmp/entr ...   Up
>>> 8080/tcp
>>> gsconf4my_geonode          /bin/true                        Exit
>>> 0
>>> nginx4my_geonode           nginx -g daemon off;             Up
>>> 0.0.0.0:80->80/tcp
>>> rabbitmq4my_geonode        docker-entrypoint.sh rabbi ...   Up
>>> 25672/tcp, 4369/tcp, 5671/tcp, 5672/tcp
>>>
>>>
>>> In order to access geonode site from my workstation, I am supposed to
>>> configure DATABASES as HOST:'172.21.14.02'. Am I correct? If so, why the
>>> database connection has been refused?
>>>
>>>
>>> Just to avoid confusion here. If your host where you want to navigate
>>> GeoNode is 172.21.14.02 then your docker-compose override yaml file should
>>> look like:
>>>
>>> version: '2'
>>> services:
>>> django:
>>> environment:
>>> DEBUG: 'True'
>>> GEONODE_LB_HOST_IP: 172.21.14.02
>>> GEONODE_LB_PORT: 80
>>> SITEURL: http://172.21.14.02/
>>> ALLOWED_HOSTS: "['172.21.14.02']"
>>> GEOSERVER_PUBLIC_LOCATION: http://172.21.14.02/geoserver/
>>>
>>> celery:
>>> environment:
>>> DEBUG: 'True'
>>> GEONODE_LB_HOST_IP: 172.21.14.02
>>> GEONODE_LB_PORT: 80
>>> SITEURL: http://172.21.14.02/
>>> ALLOWED_HOSTS: "['172.21.14.02']"
>>> GEOSERVER_PUBLIC_LOCATION: http://172.21.14.02/geoserver/
>>>
>>> geoserver:
>>> environment:
>>> GEONODE_LB_HOST_IP: 172.21.14.02
>>> GEONODE_LB_PORT: 80
>>> NGINX_BASE_URL:
>>>
>>>
>>>
>>> Talking to some IT colleagues, they said that I may be having problem
>>> because, the geonode server IP (172.21.14.02) is in our network, however
>>> db4my_geonode container IP 172.27.0.6 is out of our network. But as
>>> docker-compose ps showed the server 172.21.14.02, port 5432 is being used
>>> by db4my_geonode container. I can not really figure out what is going
>>> on!!!!
>>>
>>> Given that configuration the database container has a different network
>>> address because it is running on the internal network established by
>>> docker. Therefore from your host machine, I mean the CentOS, it is correct
>>> that you are not allowed to reach the db container. If you want to reach
>>> that you have to run your psql within the django container in such a way:
>>>
>>> psql -h db -U geonode -d geonode (please note that the hostname is right
>>> the service name given in the docker-compose file ;) )
>>>
>>>
>>> Any help on that will be very appreciated.
>>>
>>> Kind regards
>>>
>>> Julierme
>>>
>>>
>>>
>>> Hope this helps
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Jan 14, 2019 at 1:22 PM Francesco Bartoli <xbartolone at gmail.com>
>>> wrote:
>>>
>>>> Hi Julierme,
>>>>
>>>> Where are you trying to run the test? Is the  container related to the
>>>> service “db” running? What’s the output of docker-compose ps?
>>>> Il 14 gen 2019, 16:09 +0100, Julierme Pinheiro <
>>>> juliermeopensourcedeveloper at gmail.com>, ha scritto:
>>>>
>>>> Trying to answer question 3, I ran a test:
>>>> psql -h 172.21.14.02 -U geonode -d geonode
>>>>
>>>> psql: could not connect to server: No route to host
>>>>     Is the server running on host "172.21.14.02" and accepting
>>>>     TCP/IP connections on port 5432?
>>>>
>>>> Though /var/lib/postgresql/data/pg_hba.conf is set to trust (see
>>>> bellow), I can not understand why the connection to postgres is not
>>>> successful.
>>>>
>>>> local   all             all                                     trust
>>>>
>>>> Any comment on this matter will be very appreciated.
>>>>
>>>> Kind regards
>>>>
>>>> Julierme
>>>>
>>>>
>>>> On Mon, Jan 14, 2019 at 12:30 PM Julierme Pinheiro <
>>>> juliermeopensourcedeveloper at gmail.com> wrote:
>>>>
>>>>> Regarding my previous questions:
>>>>> 1 - When installing geonode-project via docker, is postgres
>>>>> configuration set automatically as in here
>>>>> <http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/create_geonode_db.html>
>>>>> ?
>>>>>
>>>>> I think so. Because I found all the databases and user configured into
>>>>> db4my_geonode container.
>>>>>
>>>>> 2 - Could the error in the log file (geonode-project server
>>>>> 172.21.14.02) be related to  pg_hba.conf file (local connections)?
>>>>>
>>>>> I do not think so. Because looking at
>>>>> /var/lib/postgresql/data/pg_hba.conf  in db4my_geonode, the cofiguration is
>>>>> set as:
>>>>>
>>>>> local   all             all                                     trust
>>>>>
>>>>> Within these two answers I should not have gotten any problem by
>>>>> configuring HOST: '172.21.14.02' in local_settings / DATABASES: {...}
>>>>>
>>>>> I am still thinking about question 3:
>>>>>
>>>>> Is there any postgres (db4my_geonode container) configuration in
>>>>> geonode-project server 172.21.14.02 that I must do, before using it as HOST
>>>>> value in local_settings / DATABASES = {...}?
>>>>>
>>>>> Thank you for your time in advance
>>>>>
>>>>> Kind regards
>>>>>
>>>>> Julierme
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Jan 14, 2019 at 12:01 PM Julierme Pinheiro <
>>>>> juliermeopensourcedeveloper at gmail.com> wrote:
>>>>>
>>>>>> Deal all,
>>>>>>
>>>>>> This is not an issue, but a question regarding postgres configuration
>>>>>> in GeoNode-Project Docker installation.
>>>>>>
>>>>>> I have 2 servers and 1 client server.
>>>>>>
>>>>>> Server 1: postgres server - IP: 172.21.14.01
>>>>>>
>>>>>>  I installed postgres in Server 1 (172.21.14.01) and I configured
>>>>>> postgres as in here
>>>>>> <http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/create_geonode_db.html>.
>>>>>> I created in postgres:
>>>>>>
>>>>>> a user: geonode with password osgeo;
>>>>>> a db: geonode owned by geonode user;
>>>>>> a db: geonode_data owned by geonode user;
>>>>>> and so on.
>>>>>>
>>>>>> Server 2 (CentOS7): geonode-project server - IP: 172.21.14.02
>>>>>>
>>>>>> I installed geonode-project at 2.8 via Docker in server 2 and changed
>>>>>> localhost to 172.21.14.02 in docker-compose.override.yml file in order to
>>>>>> access the geonode site from the client server.
>>>>>>
>>>>>> Client server: my_workstation - IP: 172.21.14.03
>>>>>>
>>>>>> GeoNode-Project installation via Docker is successful if I change
>>>>>> localhost to 172.21.14.01 (postgres remote server) as in:
>>>>>> # Backend
>>>>>> DATABASES = {
>>>>>>     'default': {
>>>>>>         'ENGINE': 'django.db.backends.postgresql_psycopg2',
>>>>>>         'NAME': 'geonode',
>>>>>>         'USER': 'geonode',
>>>>>>         'PASSWORD': 'geonode',
>>>>>>         'HOST': '172.21.14.01',
>>>>>>         'PORT': '5432',
>>>>>>         'CONN_TOUT': 900,
>>>>>>     },
>>>>>>     # vector datastore for uploads
>>>>>>     'datastore': {
>>>>>>         'ENGINE': 'django.contrib.gis.db.backends.postgis',
>>>>>>         # 'ENGINE': '', # Empty ENGINE name disables
>>>>>>         'NAME': 'geonode_data',
>>>>>>         'USER': 'geonode',
>>>>>>         'PASSWORD': 'geonode',
>>>>>>         'HOST': '172.21.14.01',
>>>>>>         'PORT': '5432',
>>>>>>         'CONN_TOUT': 900,
>>>>>>     }
>>>>>> }
>>>>>>
>>>>>> However if I configure HOST:'172.21.14.02' or HOST: 'localhost',
>>>>>> geonode-project django and celery container will not go up and the log file
>>>>>> says respectively for HOST:'172.21.14.02' and HOST: 'localhost'
>>>>>> configuration:
>>>>>>
>>>>>> django4my_geonode |     Is the server running on host "172.21.14.45"
>>>>>> and accepting
>>>>>> django4my_geonode |     TCP/IP connections on port 5432?
>>>>>>
>>>>>> django4my_geonode |     Is the server running on host "localhost"
>>>>>> (::1) and accepting
>>>>>> django4my_geonode |     TCP/IP connections on port 5432?
>>>>>>
>>>>>> Though geonode-project installation is successful, by using postgres
>>>>>> remote server IP: 172.21.14.01, configured manually, I do not want to use
>>>>>> it.
>>>>>>
>>>>>> I want to use geonode-project server IP:172.21.14.02.  Said that, I
>>>>>> came out with  the following questions:
>>>>>>
>>>>>> 1 - When installing geonode-project via docker, is postgres
>>>>>> configuration set automatically as in here
>>>>>> <http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/create_geonode_db.html>
>>>>>> ?
>>>>>>
>>>>>> 2 - Could the error in the log file (geonode-project server
>>>>>> 172.21.14.02) be related to  pg_hba.conf file (local connections)?
>>>>>>
>>>>>> 3 - Is there any postgres (geonode/postgis container) configuration
>>>>>> in geonode-project server 172.21.14.02 that I must do, before using it as
>>>>>> HOST value in local_settings / DATABASES = {...}?
>>>>>>
>>>>>> My apologies for the long e-mail and thank you very much for your
>>>>>> time and patience.
>>>>>>
>>>>>> Kind regards
>>>>>>
>>>>>> Julierme
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>> geonode-users mailing list
>>>> geonode-users at lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/geonode-users
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-users/attachments/20190114/876e06e0/attachment-0001.html>


More information about the geonode-users mailing list