Warning: I am new on Docker and this is my first dockerized application. The creation steps of this image have been described in a blog on https://www.linkedin.com/pulse/dddocker-3-dockerization-rails-app-oliver-veits
This image runs a web application I have built as a front-end to a ProvisioningEngine for a Unified Communication solution. In this image, it is running in foreground simulation mode. The simulator also runs on Heroku on https://salty-peak-4964.herokuapp.com/. Feel free to provision Customers, Sites and Users. Sample Targets are already provisioned there. Any feedback is welcome.
How to handle the Image:
Run the image by:
JOB=$(docker run -d -p 8080:3000 oveits/rails_provisioningengine:latest //bin/sh -c "cd /home/rails/ProvisioningEngine;rails s")
Check the status via
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
55fd19905f60 oveits/rails_provisioningengine:v1 "//bin/sh -c 'cd /ho 11 seconds ago Up 9 seconds 0.0.0.0:8080->3000/tcp admiring_perlman
Connect via browser to your docker host's IP address and port 8080 in this example. E.g. on my docker host with IP=192.168.56.101, this is http://192.168.56.101:8080/
Before adding customers, sites and users, you need to start by creating a target with an arbitrary name and the configuration "OSVIP=184.108.40.206" or similar. The simulator depends on this special variable (IP address of OpenScape Voice). In production, this limit does not exist.
This system is also used in our test lab for automatic provisioning of our Unified Communication solutions. The productive solution comprises:
1) In the productive system the provisioning jobs are run in the background using the delayed_jobs gem. The target systems are provisioned using
- SFTP + SSH shell scripts
by an Apache Camel based module (not included in this demo container).
2) In the productive system NginX is used to
- offload HTTPS
- allow more than one service to run on the same IP address and port.