diff --git a/Dockerfile b/Dockerfile index 1475796e..ab43f183 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,15 +29,20 @@ RUN mkdir -p /opt/grouper/$VERSION \ java-1.8.0-openjdk \ java-1.8.0-openjdk-devel \ MariaDB-client \ + supervisor \ mlocate \ && yum clean all # The installer creates a HSQL DB which we ignore later + +RUN mkdir -p /var/log/supervisor +RUN mv /etc/supervisord.conf /etc/supervisord.conf.old +COPY container_files/conf/supervisord.conf /etc WORKDIR /opt/grouper/$version RUN java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller VOLUME /opt/grouper/2.3.0/apache-tomcat-$TOMCAT_VERSION/logs EXPOSE 8080 8009 8005 - -CMD ["/opt/bin/start.sh"] +CMD ["/usr/bin/supervisord"] +#CMD ["/opt/bin/start.sh"] diff --git a/container_files/bin/start.sh b/container_files/bin/start.sh index 6eb2dab6..a97d138d 100755 --- a/container_files/bin/start.sh +++ b/container_files/bin/start.sh @@ -15,7 +15,8 @@ then else echo "Grouper was configured" echo "Starting apache" - /usr/local/bin/httpd-shib-foreground + exit 0 + #/usr/local/bin/httpd-shib-foreground fi else echo "Composed so waiting for MariaDB: " > $log @@ -38,6 +39,7 @@ else else echo "Grouper was configured" echo "Starting apache" - /usr/local/bin/httpd-shib-foreground + exit 0 + #/usr/local/bin/httpd-shib-foreground fi fi diff --git a/container_files/conf/supervisord.conf b/container_files/conf/supervisord.conf new file mode 100644 index 00000000..f487b477 --- /dev/null +++ b/container_files/conf/supervisord.conf @@ -0,0 +1,41 @@ +[supervisord] +logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) +logfile_backups=10 ; (num of main logfile rotation backups;default 10) +loglevel=info ; (log level;default info; others: debug,warn,trace) +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) +nodaemon=true ; (start in foreground if true;default false) +minfds=1024 ; (min. avail startup file descriptors;default 1024) +minprocs=200 ; (min. avail process descriptors;default 200) +;umask=022 ; (process file creation umask;default 022) +;user=chrism ; (default is current user, required if root) +;identifier=supervisor ; (supervisord identifier, default is 'supervisor') +;directory=/tmp ; (default is not to cd during start) +;nocleanup=true ; (don't clean up tempfiles at start;default false) +;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP) +;environment=KEY=value ; (key value pairs to add to environment) +;strip_ansi=false ; (strip ansi escape codes in logs; def. false) + +; the below section must remain in the config file for RPC +; (supervisorctl/web interface) to work, additional interfaces may be +; added by defining them in separate rpcinterface: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket +;username=chris ; should be same as http_username if set +;password=123 ; should be same as http_password if set +;prompt=mysupervisor ; cmd line prompt (default "supervisor") +;history_file=~/.sc_history ; use readline history if available + + +[program:configure] +command=/bin/bash -c "exec /opt/bin/start.sh" + +[program:apache] +command=/bin/bash -c "exec /usr/local/bin/httpd-shib-foreground" + +[program:tomcat] +command=/bin/bash -c "exec /opt/grouper/2.3.0/apache-tomcat-6.0.35/bin/catalina.sh run"