# Discussion dockerisation logiciels

**URL:** https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451
**Category:** Support
**Tags:** docker, cesium-plus
**Created:** [31 January 2023 15:53 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451 "2023-01-31T15:53:07Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 15:53 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/1 "2023-01-31T15:53:07Z")

</div>

> [@On another topic](https://forum.duniter.org/t/10447/2):
>
> Et ce serait super aussi d’y mettre un Duniter 1.9 une fois qu’il est dockerisé

Il est dockerisé. C’est ce que j’utilise pour mon noeud mirroir Ğ1 et mon noeud forgeron Ğ1-test.

> [@On another topic](https://forum.duniter.org/t/10447/2):
>
> et un nœud Cesium+ si quelqu’un finit la dockerisation.

C’est commencé où ?

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [31 January 2023 16:15 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/2 "2023-01-31T16:15:24Z")

</div>

Ah super pour 1.9 ! J’avais pas suivi.

Pour Cesium+ j’ai pas suivi, un jour qqun s’est pointé en visio dev en disant qu’il travaillait dessus et il n’a pas laissé de contact ni de traces, donc c’est comme si c’était un point mort \>\<

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 16:27 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/3 "2023-01-31T16:27:51Z")

</div>

> [@HugoTrentesaux](#):
>
> Pour Cesium+ j’ai pas suivi, un jour qqun s’est pointé en visio dev en disant qu’il travaillait dessus et il n’a pas laissé de contact ni de traces, donc c’est comme si c’était un point mort \>\<

Je veux bien jeter un oeil, mais il va falloir me tenir la main pour le mode opératoire d’installation et la configuration.

Aussi mon petit serveur perso est aux limites de sa capacité avec les deux noeuds duniter v1 qui tournent dessus. Donc pour tester ça risque d’être chaud.

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [31 January 2023 16:38 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/4 "2023-01-31T16:38:09Z")

</div>

> [@Pini](#):
>
> le mode opératoire d’installation et la configuration.

Malheureusement, c’est là qu’on manque de connaissances. J’avais tenté de regrouper toutes les informations ici : [How to install Cesium+ Data Pod](https://forum.duniter.org/t/how-to-install-cesium-data-pod/9425) mais sans succès.

- quelqu’un qui a essayé récemment : [Install Pod Cesiumplus971](https://forum.duniter.org/t/install-pod-cesiumplus971/10272)
- @jnoel semble avoir réussi _relativement_ récemment [Installation d'un Pod Cesium+](https://forum.duniter.org/t/installation-dun-pod-cesium/6952) mais plus de nouvelles de son noeud

Et apparemment il y a trois noeuds actifs en ce moment : [https://ginspecte.mithril.re/service\_types/5](https://ginspecte.mithril.re/service_types/5)

---

<div class="post-metadata">

### Author: ![jnoel](https://forum.duniter.org/user_avatar/forum.duniter.org/jnoel/32/5717_2.png) [@jnoel](https://forum.duniter.org/u/jnoel)
#### Post date: [31 January 2023 16:47 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/5 "2023-01-31T16:47:18Z")

</div>

Salut, j’avais effectivement lancé un nœud cesium+ qui était en apparence fonctionnel, mais je me suis rendu compte que les documents ne se synchronisais pas avec les autres nœuds… par exemple les descriptions des comptes, les adresses, etc, saisie sur mon pod, n’était pas visible des autres pods.  
Je n’ai pas réussi à comprendre pourquoi, mais je n’y ai pas passé assez de temps non plus.  
Du coup, j’ai préféré le couper, plutôt que de provoquer de la confusion pour les utilisateurs.

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 17:25 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/6 "2023-01-31T17:25:38Z")

</div>

Que faut-il mettre dans la conf pour les endpoints ? L’exemple de la doc est :

```auto
duniter.p2p.includes.endpoints: [“ES_CORE_API g1-test.data.duniter.fr 443”, “ES_USER_API g1-test.data.duniter.fr 443”, “ES_SUBSCRIPTION_API g1-test.data.duniter.fr 443”]

```

Mais `g1-test.data.duniter.fr` n’existe pas. À quels types de services ça correspond ?

---

<div class="post-metadata">

### Author: ![jnoel](https://forum.duniter.org/user_avatar/forum.duniter.org/jnoel/32/5717_2.png) [@jnoel](https://forum.duniter.org/u/jnoel)
#### Post date: [31 January 2023 17:31 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/7 "2023-01-31T17:31:07Z")

</div>

Je ne sais pas à quoi ça correspond exactement, mais j’avais ça dans le mien :

```auto
duniter.p2p.includes.endpoints: [
   "ES_CORE_API g1.data.duniter.fr 443",
   "ES_USER_API g1.data.duniter.fr 443",
   "ES_SUBSCRIPTION_API g1.data.duniter.fr 443"
]

```

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 17:39 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/8 "2023-01-31T17:39:18Z")

</div>

Ça ne me semble pas correct. Apparemment les hôtes en question doivent répondre sur le chemin `/network/peering` Voici ce qu’il y a dans la conf de l’install récente pointée par Hugo :

```auto
duniter.p2p.includes.endpoints: [   
   "ES_CORE_API g1.data.le-sou.org 443",
   "ES_USER_API g1.data.le-sou.org 443",
   "ES_SUBSCRIPTION_API g1.data.le-sou.org 443",
   "ES_CORE_API g1.data.e-is.pro 443",
   "ES_USER_API g1.data.e-is.pro 443",
   "ES_SUBSCRIPTION_API g1.data.e-is.pro 443"
]

```

[https://g1.data.le-sou.org/network/peering](https://g1.data.le-sou.org/network/peering)  
[https://g1.data.e-is.pro/network/peering](https://g1.data.e-is.pro/network/peering)

@HugoTrentesaux une idée de à quoi ça correspond ?

---

<div class="post-metadata">

### Author: ![jnoel](https://forum.duniter.org/user_avatar/forum.duniter.org/jnoel/32/5717_2.png) [@jnoel](https://forum.duniter.org/u/jnoel)
#### Post date: [31 January 2023 17:42 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/9 "2023-01-31T17:42:15Z")

</div>

Apparemment, [g1.data.duniter.fr](http://g1.data.duniter.fr) n’existe plus.  
Alors que [g1.data.le-sou.org](http://g1.data.le-sou.org) et g1.data.e-is.pro sont fonctionnels eux.  
C’est peut-être pour ça que mon pod ne se synchronisait plus avec les autres !

Il y a aussi le pod g1.data.adn.life qui est fonctionnel.

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [31 January 2023 17:43 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/10 "2023-01-31T17:43:36Z")

</div>

Oui, ça doit justement correspondre aux endpoints de synchronisation des documents. Les pods Cesium+ ont un fonctionnement “p2p” au sens où ils répliquent les documents. Donc oui, @jnoel ça explique pourquoi ton pod ne se synchronisait pas : il essayait de se connecter à un noeud HS.

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 17:44 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/11 "2023-01-31T17:44:57Z")

</div>

Que je comprenne bien : ce sont d’autres pods Cesium+ ?

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [31 January 2023 17:45 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/12 "2023-01-31T17:45:29Z")

</div>

Oui, il me semble 🙂

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 17:48 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/13 "2023-01-31T17:48:10Z")

</div>

Ça fait sens. Merci.

---

<div class="post-metadata">

### Author: ![jnoel](https://forum.duniter.org/user_avatar/forum.duniter.org/jnoel/32/5717_2.png) [@jnoel](https://forum.duniter.org/u/jnoel)
#### Post date: [31 January 2023 17:48 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/14 "2023-01-31T17:48:54Z")

</div>

> [@HugoTrentesaux](#):
>
> Donc oui, @jnoel ça explique pourquoi ton pod ne se synchronisait pas : il essayait de se connecter à un noeud HS

Je retente avec les bons pods alors !

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 18:18 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/15 "2023-01-31T18:18:44Z")

</div>

Il existe des pods en service sur la ğ1-test ?

---

<div class="post-metadata">

### Author: ![jnoel](https://forum.duniter.org/user_avatar/forum.duniter.org/jnoel/32/5717_2.png) [@jnoel](https://forum.duniter.org/u/jnoel)
#### Post date: [31 January 2023 18:19 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/16 "2023-01-31T18:19:25Z")

</div>

> [@jnoel](#):
>
> Je retente avec les bons pods alors !

Effectivement, ça à l’air de fonctionner, je vois le nombre de documents qui augmente de plus en plus sur mon pod !  
Je vais en profiter pour le mettre à jour et je pourrai le relancer.  
Merci

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 20:58 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/17 "2023-01-31T20:58:08Z")

</div>

Bon, ça avance bon train : j’ai une image Docker et en théorie il n’y a plus qu’à tuner le paramétrage.

**Mais** elastisearch plante au démarrage avec un message complètement obscur :

```auto
cesium@0090e0c528ef:/opt/cesium-plus-pod-1.9.1$ docker-entrypoint 
[2023-01-31 20:54:00,574][INFO][node] [0090e0c528ef] version[2.4.6], pid[169], build[5376dca/2017-07-18T12:17:44Z]
[2023-01-31 20:54:00,575][INFO][node] [0090e0c528ef] initializing ...
[2023-01-31 20:54:00,981][INFO][plugins] [0090e0c528ef] modules [reindex, lang-expression, lang-groovy], plugins [mapper-attachments, cesium-plus-pod-core, cesium-plus-pod-subscription, cesium-plus-pod-user], sites []
[2023-01-31 20:54:00,998][INFO][env] [0090e0c528ef] using [1] data paths, mounts [[/opt/cesium-plus-pod-1.9.1/data (/dev/mapper/luks-12a534db-1dbc-4d69-9a2c-c39bd4f5105c)]], net usable_space [4.8gb], net total_space [880.8gb], spins? [possibly], types [ext4]
[2023-01-31 20:54:00,998][INFO][env] [0090e0c528ef] heap size [989.8mb], compressed ordinary object pointers [true]
[2023-01-31 20:54:01,130][INFO][http] [0090e0c528ef] Using [org.elasticsearch.http.netty.NettyHttpServerTransport] as http transport, overridden by [cesium-plus-core]
Exception in thread "main" java.lang.ExceptionInInitializerError
Likely root cause: java.security.AccessControlException: access denied ("java.io.FilePermission" "/etc/ld.so.conf" "read")
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
	at java.security.AccessController.checkPermission(AccessController.java:886)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
	at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
	at java.io.File.exists(File.java:825)
	at jnr.ffi.LibraryLoader$StaticDataHolder.<clinit>(LibraryLoader.java:421)
	at jnr.ffi.LibraryLoader.getSearchPaths(LibraryLoader.java:353)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:304)
	at org.abstractj.kalium.NaCl$SingletonHolder.<clinit>(NaCl.java:51)
	at org.abstractj.kalium.NaCl.sodium(NaCl.java:29)
	at org.duniter.core.service.Ed25519CryptoServiceImpl.<init>(Ed25519CryptoServiceImpl.java:76)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.duniter.core.beans.BeanFactory.newBean(BeanFactory.java:122)
	at org.duniter.elasticsearch.beans.ESBeanFactory.newBean(ESBeanFactory.java:60)
	at org.duniter.core.beans.BeanFactory.getBean(BeanFactory.java:60)
	at org.duniter.elasticsearch.service.ServiceLocator$Provider.get(ServiceLocator.java:126)
	at org.duniter.elasticsearch.service.ServiceLocator$Provider.get(ServiceLocator.java:117)
	at <<<guice>>>
	at org.elasticsearch.node.Node.<init>(Node.java:213)
	at org.elasticsearch.node.Node.<init>(Node.java:140)
	at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Refer to the log for complete error details.

```

Bien entendu le fichier `/etc/ld.so.conf` est accessible en lecture :

```auto
cesium@0090e0c528ef:/opt/cesium-plus-pod-1.9.1$ ls -Rl /etc/ld.so*
-rw-r--r-- 1 root root 21388 Jan 31 20:19 /etc/ld.so.cache
-rw-r--r-- 1 root root 34 Mar 2 2018 /etc/ld.so.conf

/etc/ld.so.conf.d:
total 8
-rw-r--r-- 1 root root 44 Mar 20 2016 libc.conf
-rw-r--r-- 1 root root 68 Feb 6 2019 x86_64-linux-gnu.conf

```

Et les logs ne donnent pas beaucoup plus d’info :

```auto
[2023-01-31 20:54:00,574][INFO][node] [0090e0c528ef] version[2.4.6], pid[169], build[5376dca/2017-07-18T12:17:44Z]
[2023-01-31 20:54:00,575][INFO][node] [0090e0c528ef] initializing ...
[2023-01-31 20:54:00,981][INFO][plugins] [0090e0c528ef] modules [reindex, lang-expression, lang-groovy], plugins [mapper-attachments, cesium-plus-pod-core, cesium-plus-pod-subscription, cesium-plus-pod-user], sites []
[2023-01-31 20:54:00,998][INFO][env] [0090e0c528ef] using [1] data paths, mounts [[/opt/cesium-plus-pod-1.9.1/data (/dev/mapper/luks-12a534db-1dbc-4d69-9a2c-c39bd4f5105c)]], net usable_space [4.8gb], net total_space [880.8gb], spins? [possibly], types [ext4]
[2023-01-31 20:54:00,998][INFO][env] [0090e0c528ef] heap size [989.8mb], compressed ordinary object pointers [true]
[2023-01-31 20:54:01,130][INFO][http] [0090e0c528ef] Using [org.elasticsearch.http.netty.NettyHttpServerTransport] as http transport, overridden by [cesium-plus-core]
[2023-01-31 20:54:01,835][ERROR][bootstrap] Exception
java.lang.ExceptionInInitializerError
	at jnr.ffi.LibraryLoader.getSearchPaths(LibraryLoader.java:353)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
	at jnr.ffi.LibraryLoader.load(LibraryLoader.java:304)
	at org.abstractj.kalium.NaCl$SingletonHolder.<clinit>(NaCl.java:51)
	at org.abstractj.kalium.NaCl.sodium(NaCl.java:29)
	at org.duniter.core.service.Ed25519CryptoServiceImpl.<init>(Ed25519CryptoServiceImpl.java:76)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.duniter.core.beans.BeanFactory.newBean(BeanFactory.java:122)
	at org.duniter.elasticsearch.beans.ESBeanFactory.newBean(ESBeanFactory.java:60)
	at org.duniter.core.beans.BeanFactory.getBean(BeanFactory.java:60)
	at org.duniter.elasticsearch.service.ServiceLocator$Provider.get(ServiceLocator.java:126)
	at org.duniter.elasticsearch.service.ServiceLocator$Provider.get(ServiceLocator.java:117)
	at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
	at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
	at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
	at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
	at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
	at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
	at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
	at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
	at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
	at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
	at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
	at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)
	at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)
	at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
	at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
	at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
	at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
	at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)
	at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)
	at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
	at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)
	at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
	at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
	at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
	at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
	at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
	at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:46)
	at org.elasticsearch.node.Node.<init>(Node.java:213)
	at org.elasticsearch.node.Node.<init>(Node.java:140)
	at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "/etc/ld.so.conf" "read")
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
	at java.security.AccessController.checkPermission(AccessController.java:886)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
	at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
	at java.io.File.exists(File.java:825)
	at jnr.ffi.LibraryLoader$StaticDataHolder.<clinit>(LibraryLoader.java:421)
	... 55 more

```

Ça a l’air tellement bête que je me dis que je ne dois pas être le seul à être tombé là-dessus 😕

---

<div class="post-metadata">

### Author: ![vit](https://forum.duniter.org/user_avatar/forum.duniter.org/vit/32/2775_2.png) [@vit](https://forum.duniter.org/u/vit)
#### Post date: [31 January 2023 22:35 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/18 "2023-01-31T22:35:33Z")

</div>

> [@Pini](#):
>
> `Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "/etc/ld.so.conf" "read")`

Il semble que ce soit une erreur de permission Java (de la JVM) pas des permissions système :

> <https://stackoverflow.com/questions/10454037/java-security-accesscontrolexception-access-denied-java-io-filepermission>

Extrait :

Within your `<jre location>\lib\security\java.policy` try adding:

`grant { permission java.security.AllPermission; };`

And see if it allows you. If so, you will have to add more granular permissions.

See:

[Java 8 Documentation for java.policy files](https://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html)

---

<div class="post-metadata">

### Author: ![Pini](https://forum.duniter.org/user_avatar/forum.duniter.org/pini/32/6819_2.png) [@Pini](https://forum.duniter.org/u/Pini)
#### Post date: [31 January 2023 23:22 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/19 "2023-01-31T23:22:59Z")

</div>

Oui c’est bien un truc de policy, mais celles-ci sont normalement définies dans l’appli. Là je rajoute à la main tout un tas de trucs dans le fichier java.policy global, et ça pète à chaque fois un peu plus loin avec une autre règle de sécu.

Il y a un truc qui fait que ce mécanisme ne fonctionne pas dans mon image Docker.

Je déteste Java…

EDIT: J’ai fini par comprendre qu’il ne fallait pas complètement écraser le fichier de conf par défaut de elasticsearch. Car on y trouve en particulier:

```auto
security.manager.enabled: false

```

Haha, je ris jaune. Elle est belle la sécurité de Java ^^

Bon… Ça tourne à peu près proprement. Je vais réviser tout ça jeudi. Là c’est bed time 🙂

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [1 February 2023 11:12 UTC](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451/20 "2023-02-01T11:12:37Z")

</div>

> [@Pini](#):
>
> Je déteste Java…

Pareil. C’est une des raisons qui m’a retiré l’envie de creuser davantage. Surtout en voyant que les gens qui avaient l’habitude de java arrivaient sans problème à les contourner, mais se gardaient bien de documenter ces petits pièges.

Merci beaucoup d’avoir eu le courage de passer outre !!

[Next page](https://forum.duniter.org/t/discussion-dockerisation-logiciels/10451.md?page=2)
