Hello Juan,
I used the scripts from this repo:
https://github.com/openMF/fineract-cn-containers which seems to be the more
updated.

You don't need to add all the services to a network because they are
automatically added to the same network as the external services.
If you look a the end of the docker-compose.yml, you will see this :
networks:
default:
external:
name: externaltools_app_net

That is the network that is created when you run "docker-compose up" in the
external_tools folder.
This is why you are able to use the hostname (ex: cassandra:9090). All
containers are within the same network.

Actually, all the "networks" section with the hardcoded IP address should
be removed from all services. The network section at the end of the file is
enough.

Patrick

On Tue, Jan 1, 2019 at 3:26 PM Juhan Aasaru <aas...@gmail.com> wrote:

> Hi Patrick and Courage!
>
> Patrick, thanks for sharing the tip how to get the docker-compose version
> of services working without configuring static IP addresses.
> After adding Fineract microservices to "app_net" network I was
> successful using this approach (with one micro service for now - I plan to
> test with more later).
>
> Courage, thanks for explaining the logic. I still think that having
> hardcoded IP addresses is not a good idea because (as I understand Docker)
> then if you run containers then several copies of the same microservice
> might be started to handle the load and make the service fail proof. I
> don't think this can work well with hardcoded IP addresses as you can only
> assign one IP to one specific instance.
>
> I proposed a fix (I added to the pull request mentioned before), also
> visible here:
>
> https://github.com/Anh3h/fineract-cn-docker-scripts/pull/1/commits/c4c4c8ee3e4ccfa1eda9c38fecb018952d488df1
>
> One of the reasons why you might have used static IP addresses is to refer
> to external tools (cassandra, activemq, etc)
> from the Fineract microservices. They don't know about each other since
> they are declared in two different docker-compose files.
> To overcome this I added all the Fineract microservices to "app_net"
> network as I wrote above. This way I managed to start rythm-ms
> and it started up with no errors.
>
> Patrick suggested replacing IP addresses with service names but in order to
> follow a similar approach to networking and static IP addresses
> I used network aliases instead ("cassandra.service", "rythm.service", etc).
>
> The downside is that start-up.sh script cannot now use IP to refer to
> Cassandra service. I don't yet know how to solve that
> so you could also just ignore my pull request, Courage. It is more to
> demonstrate how static IP-s could be removed from docker-compose.
>
> Kind regards
> Juhan Aasaru
>
>
>
>
> Kontakt Courage Angeh (<couragean...@gmail.com>) kirjutas kuupƤeval E, 31.
> detsember 2018 kell 01:25:
>
> > Hi Patrick,
> >
> > Yea, since they are on the same network you can use the hostname instead.
> > But the docker-compose file is different so you would want to check that
> > out.
> >
> > Thanks,
> > Courage.
> >
> > On Sun, Dec 30, 2018 at 1:16 PM Patrick Finken <patr...@finksolutions.ca
> >
> > wrote:
> >
> > > Hey Juhan,
> > >
> > > I manage to deploy on docker using the script here:
> > > https://github.com/openMF/fineract-cn-containers. It seems to be the
> > same.
> > > Since the containers are part of the same network, actually you don't
> > have
> > > to use the IP addresses. You can directly use the container hostname.
> > > for example instead of this:
> > >
> > > identity-ms:
> > > build:
> > > context: ./identity-ms-scripts
> > > dockerfile: Dockerfile
> > > container_name: identity-ms
> > > environment:
> > > eureka.instance.hostname: 172.16.238.2
> > > ribbon.listOfServers: 172.16.238.2:9090
> > > eureka.client.serviceUrl.defaultZone: http://172.16.238.2:8761/eureka
> > > activemq.brokerUrl: tcp://172.16.238.3:61616
> > > cassandra.contactPoints: 172.16.238.5:9042
> > > mariadb.host: 172.16.238.4
> > > system.publicKey.timestamp: 2018-10-10T01_01_15
> > > system.publicKey.modulus:
> > >
> > >
> >
> 18830417865504754663596657921169981388613608618114181257730232626007046104205069610563634060207899189424089915821981663929865082241370961151496748704877748259390459829186594341836017608519010700832900450611837813953253561963866572420310400523511657369829766416803363168491886414799775820748756499203093647390636959841752155645685561162742188977961694005704440347615513393284989322067719641549057293319957667170169198305510723774385566981450654256215485917703358999975306907551370265528935629966530892656985959818205610297140283766405889374249542201561470010250064433930099114538970547846267201625038851781585379046349
> > > system.publicKey.exponent: 65537
> > > networks:
> > > default:
> > > ipv4_address: 172.16.238.7
> > >
> > > you can use this :
> > >
> > > identity-ms:
> > > build:
> > > context: ./identity-ms-scripts
> > > dockerfile: Dockerfile
> > > container_name: identity-ms
> > > environment:
> > > eureka.instance.hostname: eureka
> > > ribbon.listOfServers: eureka:9090
> > > eureka.client.serviceUrl.defaultZone: http://eureka:8761/eureka
> > > activemq.brokerUrl: tcp://activemq:61616
> > > cassandra.contactPoints: cassandra:9042
> > > mariadb.host: mariadb
> > > system.publicKey.timestamp: 2018-10-10T01_01_15
> > > system.publicKey.modulus:
> > >
> > >
> >
> 18830417865504754663596657921169981388613608618114181257730232626007046104205069610563634060207899189424089915821981663929865082241370961151496748704877748259390459829186594341836017608519010700832900450611837813953253561963866572420310400523511657369829766416803363168491886414799775820748756499203093647390636959841752155645685561162742188977961694005704440347615513393284989322067719641549057293319957667170169198305510723774385566981450654256215485917703358999975306907551370265528935629966530892656985959818205610297140283766405889374249542201561470010250064433930099114538970547846267201625038851781585379046349
> > > system.publicKey.exponent: 6553
> > >
> > > I will create a PR to adjust it.
> > > Hope it will help you.
> > >
> > > Patrick
> > >
> > >
> > > On Sun, Dec 30, 2018 at 11:14 AM Juhan Aasaru <aas...@gmail.com>
> wrote:
> > >
> > > > Hi Courage,
> > > >
> > > > I also checked out the work you have done on containers as I also
> plan
> > to
> > > > deploy the Fineract CN services to the cloud. Would you mind
> > explaining a
> > > > few things for me:
> > > >
> > > > 1. I tried running the scripts (taken from your GitHub fork) locally
> (I
> > > > always find I need to be able to run anything locally first before
> > > > deploying to anywhere else).
> > > > I tried out both the Kubernetes scripts (with Minikube) and the
> > > > docker-compose scripts. I didn't manage to get them running because
> of
> > > the
> > > > hardcoded IP addresses (there is no easy method in mac to have
> several
> > > > static IP addresses at the same time). I don't have much experience
> > with
> > > > deploying container-based
> > > > systems so if you could elaborate on the topic a bit and if it would
> > make
> > > > sense to
> > > > to replace IP addresses with service names or aliases.
> > > >
> > > > 2. The docker-compose.yml in root directory has all of the services
> > > besides
> > > > rythm-ms commented out. Can one just comment other services back in
> or
> > is
> > > > there some work that needs to be done first?
> > > >
> > > > 3. I think I found a typo in external-scripts/docker-compose.yml
> > > > You have mapped Cassandra port 9042 to port 9142 for the outside
> world
> > > but
> > > > I think it should be still 9042. I created a pull request for you
> repo
> > to
> > > > fix this.
> > > >
> > > > I hope you have a chance to help me with my questions.
> > > >
> > > > Thanks
> > > > Juhan Aasaru
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Kontakt Courage Angeh (<couragean...@gmail.com>) kirjutas kuupƤeval
> K,
> > > 26.
> > > > detsember 2018 kell 17:29:
> > > >
> > > > > Hi Patrick,
> > > > >
> > > > > Could you check this out instead?
> > > > > https://github.com/Anh3h/fineract-cn-docker-scripts
> > > > > I am still to merge that into the Mifos codebase
> > > > > That should work.
> > > > >
> > > > > Thanks,
> > > > > Courage.
> > > > >
> > > > > On Tue, Dec 25, 2018 at 6:04 PM Patrick Finken <
> > > patr...@finksolutions.ca
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Hello Courage,
> > > > > >
> > > > > > Actually, the script is from
> > > > > > https://github.com/openMF/fineract-cn-containers. The problem is
> > > that
> > > > > the
> > > > > > provisioner is expecting two properties that are not specified in
> > the
> > > > > > Dockerfile.
> > > > > >
> > > > > > provisioner    | ***************************
> > > > > > provisioner    | APPLICATION FAILED TO START
> > > > > > provisioner    | ***************************
> > > > > >
> > > > > > provisioner    | Description:
> > > > > > provisioner    |
> > > > > > provisioner    | Binding to target
> > > > > > org.apache.fineract.cn
> > .provisioner.config.SystemProperties@72443081
> > > > > > failed:
> > > > > > provisioner    |
> > > > > > provisioner    |     Property: system.privateKey.modulus
> > > > > > provisioner    |     Value: null
> > > > > > provisioner    |     Reason: may not be null
> > > > > > provisioner    |
> > > > > > provisioner    |     Property: system.privateKey.exponent
> > > > > > provisioner    |     Value: null
> > > > > > provisioner    |     Reason: may not be null
> > > > > >
> > > > > > But I kind of figured out the solution. I used a tool online to
> > > > generate
> > > > > a
> > > > > > RSA key.
> > > > > > I'm all set now. The platform is running. Thanks
> > > > > >
> > > > > > Merry Christmas
> > > > > > Patrick
> > > > > >
> > > > > > On Tue, Dec 25, 2018 at 6:43 AM Courage Angeh <
> > > couragean...@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Patrick,
> > > > > > >
> > > > > > > You wouldn't want to deactivate it 'cause its needed for
> > > > > authentication.
> > > > > > > I containerized Fineract CN as a summer of code project, that
> > > should
> > > > > help
> > > > > > > you out.
> > > > > > > https://github.com/openMF/fineract-cn-containers
> > > > > > >
> > > > > > > Merry Christmas,
> > > > > > > Courage.
> > > > > > >
> > > > > > > On Tue, Dec 25, 2018 at 1:22 AM Patrick Finken <
> > > > > patr...@finksolutions.ca
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hello Everyone,
> > > > > > > >
> > > > > > > > I'm Patrick. I've recently discovered Fineract CN and I might
> > be
> > > > > > > interested
> > > > > > > > to use as a backend system for a financial application I'm
> > > > building.
> > > > > > > > I succeed to build and launch the demo-server on my local
> > > machine,
> > > > > but
> > > > > > > I'm
> > > > > > > > stuck when I try to run it inside containers.
> > > > > > > > I used the script from the repo
> > "apache/fineract-cn-provisioner",
> > > > but
> > > > > > the
> > > > > > > > provisioner service failed to run because of the missing
> > > > > configuration
> > > > > > > > "system.privateKey.modulus" and "system.privateKey.exponent".
> > I'm
> > > > > > > > guessing it's related to some RSA configuration, but there
> is a
> > > way
> > > > > to
> > > > > > > > deactivate it in order to run and test the API?
> > > > > > > >
> > > > > > > >
> > > > > > > > regards
> > > > > > > > --
> > > > > > > > Patrick,
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Patrick Finken,
> > > > > > Owner
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > Patrick Finken,
> > > Owner
> > >
> >
>


-- 
Patrick Finken,
Owner

Reply via email to