wiki:instance_dockerhub

GenApp container image on dockerhub

Prerequisites

To utilize this container, you should have docker setup and working in a Mac or Linux environment.

Setting up

In this case, we are going to use host (not the container) port 8000 as our exposed html port and name the image "genapp"

  1. start the image docker run -d -p 8000:80 --name genapp ehb1/genapp
    • note that the first time you run this it will download from dockerhub
    • after this runs, you should be able to access a webserver at the host's ip:8000/genapptest
  2. update the image
    1. Access via shell docker exec -it genapp /bin/bash
      • you should see a prompt from the container, e.g. root@0bfded28b6c4:/#
      • from this prompt
        1. Update the container's OS apt update
        2. Update GenApp cd $GENAPP && svn update
        3. Update GenApp's configuration information to reflect the IP address of your host
          • N.B. if you specified a different host port than 8000, change the -publicport argument below accordingly.
          • if you have a public IP want the GenApp server exposed:
            • $GENAPP/sbin/setconfig.pl -f -publicport 8000
          • if you do not have a public IP, you should specify the IP address of the host. It will be visible on your internal network. E.g., if your docker's host ip is 192.168.0.23:
            • $GENAPP/sbin/setconfig.pl -f -publicport 8000 -hostip 192.168.0.23
          • You will get a warning message about the ip address from a DNS lookup doesn't match, this is expected and is ok.
        • alternatively you could manually edit (vi and emacs-nox are installed in the container) $GENAPP/etc/config.json or utilize setconfig.pl's features, see $GENAPP/sbin/setconfig.pl -h
      1. Regenerate any applications $GENAPP/sbin/reconfig
      2. You can exit from the container, e.g. root@0bfded28b6c4:/# exit

Container lifecycle

  • stop the GenApp container docker stop genapp
  • restart the container docker start genapp

After setup

  • N.B. in the following references
    • any command line work should be done inside a container
      • this means that you need to "Access via shell" : docker exec -it genapp /bin/bash
    • the URL for the web server for you instance will need the port defined if served on a host port other than 80 (or 443 if you setup https).
      • e.g. if docker's host ip is 192.168.0.23 and you used host port 8000, the base url will be http://192.168.0.23:8000/

  • You should next follow post install steps outlined here.
    • note that the postfix mail server is already setup and running, but you will need to add proper values to each application's appconfig.json manually if you wish to use the "admin" and "feedback" systems.
    • e.g. add or edit this block in appconfig.json, replacing the key values appropriately:
          "mail"     : {
      	"admin"    : "someadmin@some.ip"
      	,"feedback" : "somefeedbackadress@some.ip"
      	,"from"     : "the.host.name"
          }
      
      • in a future update, we will work to simplify the email setup

Security

Last modified 3 months ago Last modified on Feb 5, 2019, 12:51:32 PM