GithubHelp home page GithubHelp logo

docker's Introduction

geOrchestra

Codacy Badge

geOrchestra is a complete Spatial Data Infrastructure solution.

It features a metadata catalog (GeoNetwork), an OGC server (GeoServer) with fine-grained access control (based on GeoFence), an advanced viewer and editor and many more (security and auth system based on proxy/CAS/LDAP, analytics, admin UIs, ...)

Please refer to the documentation for more information.

docker's People

Stargazers

 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's Issues

datafeeder not waiting for DB to be ready ?

When first starting the composition, it looks like some times at least, the datafeeder starts before the backing DB, which results in daatafeeder failure (Unable to open JDBC Connection for DDL execution)

Experienced with version 22.0

CAS - image tag inhomogeneity

On 22.0, all webapps use the 22.0.x tag:

  proxy:
    image: georchestra/security-proxy:22.0.x

Except CAS:

  cas:
    image: georchestra/cas:22.0.0-georchestra

kibana dependency failed

on master branch with Docker version 23.0.2,

I am getting the following error:
'dependency failed to start: container docker-kibana-1 has no healthcheck configured'

by modifying docker-compose.yml like that it works:

kibana:
    image: kibana:7.9.0
    depends_on:
      elasticsearch:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "curl -s -f http://kibana:5601/ >/dev/null || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 10
    environment:
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    volumes:
      - ./resources/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml

18.06 branch is broken

Analytics and console won't load. They display a DB not ready waiting message forever.
Sélection_168

LDAP : db_db_cache: db_open(mail) failed: Permission denied

sometimes, rights are poorly positioned in /var/lib/docker/volumes/georchestra_ldap_data/_data/, and we encounter the following error :

ldap_1                      | 5971c4ac bdb_db_cache: db_open(mail) failed: Permission denied (13)
ldap_1                      | 5971c4ac <= bdb_substring_candidates: (mail) index_param failed (13)

indeed, mail.bdb is root:root instead of syslog:systemd-bus-proxy :

[root@service-info12 ~]# ls -l /var/lib/docker/volumes/georchestra_ldap_data/_data/
total 1032
-rw-r--r-- 1 syslog systemd-bus-proxy     2048 juil. 21 10:30 alock
-rw------- 1 syslog systemd-bus-proxy    16384 juil. 21 10:30 cn.bdb
-rw------- 1 syslog systemd-bus-proxy   589823 juil. 21 10:30 __db.001
-rw------- 1 syslog systemd-bus-proxy   147455 juil. 21 10:30 __db.002
-rw------- 1 syslog systemd-bus-proxy   286719 juil. 21 10:30 __db.003
-rw-r--r-- 1 syslog systemd-bus-proxy       96 juil. 21 10:30 DB_CONFIG
-rw------- 1 syslog systemd-bus-proxy     8192 juil. 21 10:30 dn2id.bdb
-rw------- 1 syslog systemd-bus-proxy    65536 juil. 21 10:30 id2entry.bdb
-rw------- 1 syslog systemd-bus-proxy 10485759 juil. 21 10:30 log.0000000001
-rw------- 1 root   root                  8192 juil. 21 10:30 mail.bdb
-rw------- 1 syslog systemd-bus-proxy     8192 juil. 21 10:30 member.bdb
-rw------- 1 syslog systemd-bus-proxy     8192 juil. 21 10:30 objectClass.bdb
-rw------- 1 syslog systemd-bus-proxy     8192 juil. 21 10:30 uid.bdb

it is easy to correct that with the chown command, but this is not satisfactory...

chown -R syslog:systemd-bus-proxy /var/lib/docker/volumes/georchestra_ldap_data/_data

What do you think ?

Update traefik

georchestra.mydomain.org_1 | time="2019-02-08T10:16:34Z" level=warning msg="A new release has been found: 1.7.8. Please consider updating."

IIRC the configuration has changed in between, and simply upgrading image tag breaks the LB.

SP wont start

${publicUrl} unresolved in datadir => workaround is to apply the following patch to the config folder:

diff --git a/security-proxy/security-proxy.properties b/security-proxy/security-proxy.properties
index a30cfd4..0a376bb 100644
--- a/security-proxy/security-proxy.properties
+++ b/security-proxy/security-proxy.properties
@@ -1,5 +1,5 @@
 # ------   proxy-servlet.xml   ---------
-public.host=${publicUrl}
+public.host=https://georchestra.mydomain.org
 # default timeout : 20min should be enough to handle big extraction (~ 4x10^9 pixels)
 http_client_timeout=1200000
 
@@ -7,13 +7,13 @@ http_client_timeout=1200000
 anonymousRole=ROLE_ANONYMOUS
 proxy.contextPath=/sec
 # url called when user has logged out
-logout-success-url=${publicUrl}/cas/logout?fromgeorchestra
+logout-success-url=https://georchestra.mydomain.org/cas/logout?fromgeorchestra
 # url where the user can login
-casLoginUrl=${publicUrl}/cas/login
+casLoginUrl=https://georchestra.mydomain.org/cas/login
 # url that the security system uses to validate the cas tickets
 casTicketValidation=http://cas:8080/cas
 # After going to the cas login cas forwards to this URL where the authorities and permissions are checked
-proxyCallback=${publicUrl}/login/cas
+proxyCallback=https://georchestra.mydomain.org/login/cas
 # list of trusted proxy, all request from listed server will be trusted and will bypass security
 trustedProxy=127.0.0.1, localhost
 # the ldap url

datafeeder should use a different database by default

Currently, the datafeeder app is configured to create schemas in the georchestra database.
As a result, uploading data as testadmin results in a psc schema being created among other application schemas - this is highly dangerous ...

georchestra=# \dn+
                                  List of schemas
     Name      |    Owner    |     Access privileges      |      Description       
---------------+-------------+----------------------------+------------------------
 atlas         | georchestra |                            | 
 console       | georchestra |                            | 
 datafeeder    | georchestra |                            | 
 extractorapp  | georchestra |                            | 
 geofence      | georchestra |                            | 
 geonetwork    | geonetwork  |                            | 
 mapfishapp    | georchestra |                            | 
 mapstore      | georchestra | georchestra=UC/georchestra | 
 ogcstatistics | georchestra |                            | 
 psc           | georchestra |                            | 
 public        | georchestra | georchestra=UC/georchestra+| standard public schema
               |             | =UC/georchestra            | 
(11 rows)

Instead, a dedicated database should be used

Geonetwork Downloads and Links

Hello everyone,

Am using georchestra docker 22.0 on ubuntu. earlier when a shapefile was uploaded on the metadata record on the download and links.
in the links the WMS and WFS which used to work. now it is not working and even the option add to map wil

l not work even though my projection is 4326 it says it is in a different projection and fails.

and the WMS and WFS links has a same link and when clicked gives no service error.

Screenshot from 2023-01-11 18-14-14
Screenshot from 2023-01-11 18-16-20

Error 500 - URL was not normalized

Hi,

I had compose georchestra stable branch (22.0), all modules seems works except the console.

I am redirect to weird URL :

https://georchestra-127-0-1-1.traefik.me/console/manager////////////////////

And i get 500 error :

HTTP ERROR 500 org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
URI:	/console/manager////////////////////
STATUS:	500
MESSAGE:	org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
SERVLET:	proxy
CAUSED BY:	org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
Caused by:

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
	at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:248)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:193)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772)
	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Unknown Source)

Images

image

containers

image

Steps

  1. clone --recursive

  2. Remove some useless modules (e.g geonetwork) from docker-compose files

  3. Run

docker compose up -d

  1. Swirch to stable branch
    git checkout 22.0 && git submodule update

  2. Clean images and container

docker rmi $(docker images -q)
docker rm -f $(docker ps -a -q)
  1. Run

docker compose up -d

  1. Try to access to console from header

DB not ready postgresql

Good morning,

I tried to install Georchestra on docker (CentOS 8.2) but after docker-compose up I have an error:

console_1                   | ------------------------> DB not ready - waiting <---------------------------
console_1                   |  url:             jdbc:postgresql://database:5432/georchestra
console_1                   |  username:        georchestra
console_1                   |  driverClassName: org.postgresql.Driver

analytics_1                 | ------------------------> DB not ready - waiting <---------------------------
analytics_1                 |  url:             jdbc:postgresql://database:5432/georchestra
analytics_1                 |  username:        georchestra
analytics_1                 |  driverClassName: org.postgresql.Driver

That's my first time using docker.

Did someone already had the problem?

Thanks,

Paul

[docker] ExtractorApp loading indefinitely

Everything works well with this docker version of geOrchestra, except extractorapp which loads vainly and indefinitely :

Loading...

In logs, one can see :

proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/resources/lib/externals/ext/resources/css/xtheme-gray.css|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/resources/app/css/main.css|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/resources/lib/Ext.ux/css/MultiSelect.css|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/resources/lib/externals/ext/resources/css/ext-all.css|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 statistics [INFO] testadmin|2017/07/21 08:23:37|http://extractorapp:8080/extractorapp/resources/app/openlayers_gray_theme/style.css|Project Steering Community|ROLE_MOD_EXTRACTORAPP,ROLE_USER,ROLE_ADMINISTRATOR,ROLE_GN_ADMIN,ROLE_MOD_LDAPADMIN,ROLE_MOD_ANALYTICS
proxy_1                     | 2017-07-21 08:23:37 security [WARN] Error occurred. statuscode: 404, reason: Not Found
proxy_1                     | 2017-07-21 08:23:37 security [WARN] Error occurred. statuscode: 404, reason: Not Found

Do you also encounter this problem ?

test credentials seems not valid

Hi there,
I manage to start georchestra (#126).

But now i can't login using readme.md credentials.

To login, use these credentials:

testuser / testuser
testadmin / testadmin

I think something is bad in my intance because i get 404 errors on routes:

  • /mapstore/#/
  • /console/account/new

And errors when try to use default credentials:
image
image

The container datafeeder exited with the error:

 2022-08-30 11:30:13.830  INFO 1 --- [           main] o.g.d.app.DataFeederApplication          : Starting DataFeederApplication on ceb73b27af07 with PID 1 (/opt/app/datafeeder.jar started by geo in /)
2022-08-30 11:30:13.833  INFO 1 --- [           main] o.g.d.app.DataFeederApplication          : The following profiles are active: georchestra
2022-08-30 11:30:15.084  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2022-08-30 11:30:15.155  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 62ms. Found 2 JPA repository interfaces.
2022-08-30 11:30:15.974  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@7e3060d8' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-08-30 11:30:15.977  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.georchestra.datafeeder.api.DataFeederApiConfiguration' of type [org.georchestra.datafeeder.api.DataFeederApiConfiguration$$EnhancerBySpringCGLIB$$dd387787] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-08-30 11:30:15.989  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-08-30 11:30:16.304  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-08-30 11:30:16.319  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-08-30 11:30:16.319  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.37]
2022-08-30 11:30:16.411  INFO 1 --- [           main] o.a.c.c.C.[.[localhost].[/datafeeder]    : Initializing Spring embedded WebApplicationContext
2022-08-30 11:30:16.411  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2517 ms
2022-08-30 11:30:16.488  WARN 1 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2022-08-30 11:30:16.685  INFO 1 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2022-08-30 11:30:16.779  INFO 1 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.20.Final
2022-08-30 11:30:16.977  INFO 1 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2022-08-30 11:30:17.146  WARN 1 --- [           main] com.zaxxer.hikari.HikariConfig           : datafeeder-connection-pool - idleTimeout is less than 10000ms, setting to default 600000ms.
2022-08-30 11:30:17.146  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : datafeeder-connection-pool - Starting...
2022-08-30 11:30:17.302  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : datafeeder-connection-pool - Start completed.
2022-08-30 11:30:17.351  INFO 1 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL10Dialect
2022-08-30 11:30:18.306  INFO 1 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2022-08-30 11:30:18.315  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2022-08-30 11:30:18.573  WARN 1 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'fileUploadApiController': Unsatisfied dependency expressed through field 'storageService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.georchestra.datafeeder.service.DataFeederServiceConfiguration': Unsatisfied dependency expressed through field 'properties'; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'configProperties': Could not bind properties to 'DataFeederConfigurationProperties' : prefix=datafeeder, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'datafeeder.publishing.geoserver.base-namespace-u-r-i' to java.lang.String
2022-08-30 11:30:18.574  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2022-08-30 11:30:18.578  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : datafeeder-connection-pool - Shutdown initiated...
2022-08-30 11:30:18.589  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : datafeeder-connection-pool - Shutdown completed.
2022-08-30 11:30:18.591  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2022-08-30 11:30:18.606  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-08-30 11:30:18.609 ERROR 1 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to bind properties under 'datafeeder.publishing.geoserver.base-namespace-u-r-i' to java.lang.String:

    Property: datafeeder.publishing.geoserver.base-namespace-u-r-i
    Value: ${publicUrl}/import
    Origin: class path resource [application.yml]:61:25
    Reason: Could not resolve placeholder 'scheme' in value "${scheme}://${domainName}"

Action:

Update your application's configuration

I don't know to help for 'scheme' placeholder.

mapstore/home returns an empty page

When running the docker composition of the 22.0 branch
https://georchestra-127-0-1-1.traefik.me/mapstore/#/home
returns an empty page, only the header is present. no errors in console or in the logs of the container.

https://georchestra-127-0-1-1.traefik.me/mapstore/ works fine.

If I replace the image georchestra/mapstore:22.0.0-georchestra
with georchestra/mapstore:latest in the docker composition, it works => I get the expected "No maps available"
If I replace the image georchestra/mapstore:22.0.0-georchestra
with georchestra/mapstore:2021.02.xx in the docker composition, it fails => empty page"

I believe that https://github.com/georchestra/mapstore2-georchestra/tree/2021.02.xx is considered the release branch of mapstore (geOr flavor), on which the tag 22.0.0-georchestra was put recently. And master is the development branch, from which latest is built.

role "postgres" does not exist

bug or feature? the postgres user does not exist any more... ;)

$ docker exec -it docker_database_1 bash
root@754feb7e2100:/# su - postgres
postgres@754feb7e2100:~$ psql
psql: FATAL:  role "postgres" does not exist

the georchestra/database image is the last one:

georchestra/database         latest sha256:9e467da4312b55cd32d477e5a7391ae6ecc3e1d66c4a22d97e759aad3cff5866   5ae988b67889        24 hours ago        776MB

any help would be appreciated.

mapping key "depends_on" already defined

dear all,

the latest version of docker causes an error when running docker compose up -d.

yaml: unmarshal errors:
  line 163: mapping key "depends_on" already defined at line 154

docker version: 23.0.2 (Mon Mar 27 16:16:39 2023)
we don't have this error with version 23.0.1...

deleting lines 163-167 from the docker-compose.yml file seems to solve the problem...

what do you think?

thanks in advance,

Ernest.

WARNING: JDBC URL invalid port number: ${pgsqlPort}

Hello,
I'm trying to test the Georchestra stack using docker from branch 20.1 and 22.0
Analytics and Console containers failed to connect to database.

Each time the logs says:

 url:             jdbc:postgresql://${pgsqlHost}:${pgsqlPort}/${pgsqlDatabase}
 username:        ${pgsqlUser}
 driverClassName: org.postgresql.Driver
Aug 24, 2022 8:40:53 AM org.postgresql.Driver parseURL
WARNING: JDBC URL invalid port number: ${pgsqlPort}
------------------------> DB not ready - waiting <---------------------------

i start the stack using:

docker compose -f docker-compose.yml -f docker-compose.override.yml up -d

I don't know how to do more research about troubleshooting because i'm not a spring/java developer.

Datahub - undefined volume georchestra_datadir

Hi,

Datahub volume seems missing from datadir.

- georchestra_datadir:/etc/georchestra

Errors :

service "datahub" refers to undefined volume georchestra_datadir: invalid compose project

Commands to reproduce :

  git clone --recurse-submodules https://github.com/georchestra/docker.git
  cd docker/
  docker compose up

mapstore config is ignored

Mapstore configuration file /etc/georchestra/mapstore/config.json is ignored by georchestra/mapstore:latest

( This version of mapstore uses embedded /usr/local/tomcat/webapps/mapstore/configs/config.json )

How to reproduce:
docker-compose up -d
docker exec -it georchestra-docker_mapstore_1 bash
Make a change, like a syntax error, to /etc/georchestra/mapstore/config.json
Reload web page https://georchestra-127-0-1-1.traefik.me/mapstore/#/
Change is not reflected

Make a change, like a syntax error, to /usr/local/tomcat/webapps/mapstore/configs/config.json
Reload web page https://georchestra-127-0-1-1.traefik.me/mapstore/#/
Change is reflected (endless Loading loop in case of a syntax error)

traefik won't resolve the services -- the service "static-docker@docker" does not exist

For the records, I had this issue today: when launching docker-compose up, everything would start well, but traefik wouldn't resolve the services. The only error I could see in the traefik's logs was
the service "static-docker@docker" does not exist

I found the answer: the traefik middleware is declared to use a service provided/created by docker-compose afaik. Anyway, for some reason, this 'static' service is named after the name of the folder containing your docker-compose file. By default this is named docker. But supposing you rename the folder into, for instance, geor, you would have to change the service name into static-geor@docker (in https://github.com/georchestra/docker/blob/master/docker-compose.override.yml#L85)

Wich georchestra branch can i run with docker ?

Description / use case

This is a question with a specific usecase.

I maintain an old georchestra version (e.g 15.12) and i need to develop a specific fix fastly.
So, it could be awesome to use Docker "Develop corner" doc to run georchestra 15.12 in a local VM.

Question :

Is it possible to do that ?
If not, with branch is compliant with docker or available in docker-hub ?

georchestra.127.0.1.1.nip.io

Using georchestra.127.0.1.1.nip.io for the fqdn would further simplify the setup, since ...

$ ping georchestra.127.0.1.1.nip.io
PING georchestra.127.0.1.1.nip.io (127.0.1.1) 56(84) bytes of data.

Instructions to create and use your own TLS certificate for local development

In https://github.com/georchestra/docker/tree/master/resources/ssl, certificates are provided to allow dockerized applications to use HTTPS without any problem.
But I understand it's a security problem for the developer, because if they trust the certificate, as the private key is published on the web, any website could use it, and your browser would trust it. See https://letsencrypt.org/docs/certificates-for-localhost/. (I understand that the attacker should also realize MITM on DNS lookup, but it's still possible, since most of the DNS traffic is not encrypted nowadays...)

For this reason, I understand that it would be safer for the developer to generate its own certificate, and to tell the dockerized applications to use it.

Shouldn't we have a branch for every georchestra version?

This repository uses the datadir submodule, that manages docker-18.06 and docker-master branches. The submodule here points to the docker-master branch.

I wonder if we shouldn't have:

  • one set of docker images for every geOrchestra version, at least 18.06 and master for the moment, updated at every commit
  • one branch for every geOrchestra version, at least 18.06 and master for the moment.
  • one set of docker volumes for every geOrchestra version

What do you think?

override - remove the override ?

We could merge the override into the docker-compose.yaml, so that we leave people the possibility to create their own override file for development purposes.

We discussed with @arnaud-morvan, and we could not see the intent behind the current override, as it prevents the users to have their own customized ones for e.g. development customizations (like JDWP on java containers, and so on ...).

datafeeder-frontend - weird image tag on 22.0 branch

https://github.com/georchestra/docker/blob/22.0/docker-compose.yml#L202

This is mainly due to the fact that the docker images are generated from georchestra/geonetwork-ui, which does not have a "22.0.x-ish" branch, as opposed to GN and the other repositories (CAS6 ...).

debian packages should be fine in regards to the generated versions, because we have a dedicated module in georchestra/georchestra for the df-frontend. I think we should have a branch in georchestra/geonetwork-ui dedicated to build the 22.0.x serie, even if the branch won't derive much from the georchestra-datafeeder one.

Other option would be to make sure the docker composition is making use of the last 22.x tag available on docker hub.

cannot build ldap

in order to rebuild the ldap image, i modified the new docker-compose.yml file with the following line (in the "docker" directory):

build: ../georchestra/ldap

i did not change SLAPD_PASSWORD (SLAPD_PASSWORD=secret), of course, but the building process fails because it needs the ldap admin password. i do not know why...

debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring slapd
Please enter the password for the admin entry in your LDAP directory.
Administrator password: ...

then you must break the process with ctrl-Z.
I tried to work around the problem with two environment variables:

ENV DEBIAN_FRONTEND noninterative
ENV TERM linux

but then installing ldap-utils fails miserably...

did you encounter this problem?

Thanks in advance.

Ernest.

ES data persistence

I see our current compo does not provide data persistence for ElasticSearch.
Also, there are no sensible defaults for XMS/XMX.

Could not access file "$libdir/postgis-2.3"

database_1                  | ERROR:  could not access file "$libdir/postgis-2.3": No such file or directory
database_1                  | STATEMENT:  select PostGIS_Lib_Version()
geonetwork_1                | 2017-10-30 16:01:55,506 ERROR [jeeves.engine] - Raised exception while starting the application. Fix the error and restart.
geonetwork_1                | 2017-10-30 16:01:55,506 ERROR [jeeves.engine] -    Handler   : org.fao.geonet.Geonetwork
geonetwork_1                | 2017-10-30 16:01:55,506 ERROR [jeeves.engine] -    Exception : java.lang.RuntimeException: java.io.IOException: Error occurred creating table
geonetwork_1                | 2017-10-30 16:01:55,506 ERROR [jeeves.engine] -    Message   : java.io.IOException: Error occurred creating table
geonetwork_1                | 2017-10-30 16:01:55,507 ERROR [jeeves.engine] -    Stack     : java.lang.RuntimeException: java.io.IOException: Error occurred creating table
geonetwork_1                | 	at org.fao.geonet.kernel.search.SearchManager$Spatial.createWriter(SearchManager.java:1754)
geonetwork_1                | 	at org.fao.geonet.kernel.search.SearchManager$Spatial.<init>(SearchManager.java:1726)
geonetwork_1                | 	at org.fao.geonet.kernel.search.SearchManager.initNonStaticData(SearchManager.java:541)
geonetwork_1                | 	at org.fao.geonet.kernel.search.SearchManager.init(SearchManager.java:521)
geonetwork_1                | 	at org.fao.geonet.Geonetwork.start(Geonetwork.java:319)
geonetwork_1                | 	at jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:454)
geonetwork_1                | 	at jeeves.server.JeevesEngine.init(JeevesEngine.java:175)
geonetwork_1                | 	at jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:82)
geonetwork_1                | 	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
geonetwork_1                | 	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:643)
geonetwork_1                | 	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:422)
geonetwork_1                | 	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
geonetwork_1                | 	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:349)
geonetwork_1                | 	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1406)
geonetwork_1                | 	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1368)
geonetwork_1                | 	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778)
geonetwork_1                | 	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262)
geonetwork_1                | 	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:522)
geonetwork_1                | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
geonetwork_1                | 	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
geonetwork_1                | 	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
geonetwork_1                | 	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499)
geonetwork_1                | 	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147)
geonetwork_1                | 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
geonetwork_1                | 	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:437)
geonetwork_1                | 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
geonetwork_1                | 	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
geonetwork_1                | 	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
geonetwork_1                | 	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
geonetwork_1                | 	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
geonetwork_1                | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
geonetwork_1                | 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
geonetwork_1                | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
geonetwork_1                | 	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:561)
geonetwork_1                | 	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:236)
geonetwork_1                | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
geonetwork_1                | 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
geonetwork_1                | 	at org.eclipse.jetty.server.Server.start(Server.java:422)
geonetwork_1                | 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
geonetwork_1                | 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
geonetwork_1                | 	at org.eclipse.jetty.server.Server.doStart(Server.java:389)
geonetwork_1                | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
geonetwork_1                | 	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1540)
geonetwork_1                | 	at java.security.AccessController.doPrivileged(Native Method)
geonetwork_1                | 	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1462)
geonetwork_1                | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
geonetwork_1                | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
geonetwork_1                | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
geonetwork_1                | 	at java.lang.reflect.Method.invoke(Method.java:498)
geonetwork_1                | 	at org.eclipse.jetty.start.Main.invokeMain(Main.java:215)
geonetwork_1                | 	at org.eclipse.jetty.start.Main.start(Main.java:458)
geonetwork_1                | 	at org.eclipse.jetty.start.Main.main(Main.java:76)
geonetwork_1                | Caused by: java.io.IOException: Error occurred creating table
geonetwork_1                | 	at org.geotools.jdbc.JDBCDataStore.createSchema(JDBCDataStore.java:688)
geonetwork_1                | 	at org.geotools.jdbc.JDBCDataStore.createSchema(JDBCDataStore.java:140)
geonetwork_1                | 	at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.attemptToCreateSpatialIndexFeatureStore(SpatialIndexWriter.java:493)
geonetwork_1                | 	at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.findSpatialIndexStore(SpatialIndexWriter.java:480)
geonetwork_1                | 	at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.createFeatureStore(SpatialIndexWriter.java:453)
geonetwork_1                | 	at org.fao.geonet.kernel.search.spatial.SpatialIndexWriter.<init>(SpatialIndexWriter.java:131)
geonetwork_1                | 	at org.fao.geonet.kernel.search.SearchManager$Spatial.createWriter(SearchManager.java:1748)
geonetwork_1                | 	... 51 more
geonetwork_1                | Caused by: org.postgresql.util.PSQLException: ERROR: could not access file "$libdir/postgis-2.3": No such file or directory
geonetwork_1                | 	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
geonetwork_1                | 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
geonetwork_1                | 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
geonetwork_1                | 	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
geonetwork_1                | 	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
geonetwork_1                | 	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
geonetwork_1                | 	at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
geonetwork_1                | 	at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
geonetwork_1                | 	at org.geotools.data.postgis.PostGISDialect.getVersion(PostGISDialect.java:896)
geonetwork_1                | 	at org.geotools.data.postgis.PostGISDialect.postCreateTable(PostGISDialect.java:687)
geonetwork_1                | 	at org.geotools.jdbc.JDBCDataStore.createSchema(JDBCDataStore.java:685)
geonetwork_1                | 	... 57 more
geonetwork_1                | 

Upgrade traefik

georchestra.mydomain.org_1 | time="2020-12-15T09:38:23Z" level=warning msg="A new release has been found: 2.3.5. Please consider updating."

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.