Supervisor Config File (supervisord.conf)

MD
S
Markdown

This config will: create 2 processes (rsyslog and nodejs queue broker). The child process logs will be proxied to supervisor's stdout, i.e. /dev/stdout.

##########################################################################################

supervisord.conf

[supervisord] nodaemon=true logfile=/var/log/supervisord/supervisord.log ; supervisord log file logfile_maxbytes=50MB ; maximum size of logfile before rotation logfile_backups=10 ; number of backed up logfiles

[program:rsyslogserver] command=rsyslogd -nd -f /etc/rsyslog.conf stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0

[program:queuebroker] directory=/var/app/queue-broker command=npm run start stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0

##########################################################################################

.Dockerfile

FROM debian:jessie

RUN mkdir -p /var/app/queue-broker COPY ./queue-broker /var/app/queue-broker COPY ./node-caller.py /

RUN apt-get update &&
apt-get -y -q install apt-utils &&
apt-get -y -q install build-essential &&
apt-get -y -q install rsyslog &&
apt-get -y -q install vim &&
apt-get -y -q install curl

RUN cd ~ &&
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh &&
bash nodesource_setup.sh &&
apt-get -y -q install nodejs &&
cd /var/app/queue-broker &&
npm install &&
npm install pm2 -g &&
mkdir /var/log/shared

COPY ./conf/rsyslog.conf /etc/rsyslog.conf

VOLUME [ "/var/log/shared", "/etc/rsyslog.d" ] EXPOSE 514/tcp

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

CMD ["/usr/bin/supervisord"]

Created on 2/6/2018