Skip to content

Instantly share code, notes, and snippets.

@netmarkjp
Last active December 22, 2015 12:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save netmarkjp/6472357 to your computer and use it in GitHub Desktop.
Save netmarkjp/6472357 to your computer and use it in GitHub Desktop.
mozilla minion production config files
MINION_HOME=/home/minion/minion
SUPERVISOR_CONFDIR=/etc/supervisor/conf.d
MINION_CONFDIR=/etc/minion
MINION_FRONTEND_HOST=localhost
MYHOSTNAME=$(hostname)
# nginx
sudo cp ${MINION_HOME:?}/minion-frontend/etc/minion-dev-server.nginx.conf /etc/nginx/conf.d/minion.conf
sudo sed -i "s/minion-dev\.mozillalabs\.com/${MINION_FRONTEND_HOST:?}/g" /etc/nginx/conf.d/minion.conf
# supervisord
cd ${MINION_HOME:?}
install -d ${MINION_CONFDIR:?}
cd ${MINION_HOME:?}
sudo cp minion-*/etc/*.supervisor.conf ${SUPERVISOR_CONFDIR:?}/.
sudo sed -i 's/user=minion-web/user=minion/' ${SUPERVISOR_CONFDIR:?}/*.supervisor.conf
sudo sed -i -E "s@command=(.*)@command=${MINION_HOME:?}/envwrapper.sh ${MINION_HOME:?}/env gunicorn -b 127.0.0.1:4000 -w 8 minion.frontend.wsgi:app@" ${SUPERVISOR_CONFDIR:?}/minion-frontend.supervisor.conf
sudo sed -i -E "s@directory=(.*)@dictionary=${MINION_HOME:?}/minion-frontend@" ${SUPERVISOR_CONFDIR:?}/minion-frontend.supervisor.conf
sudo sed -i 's/user=minion-backend/user=minion/' ${SUPERVISOR_CONFDIR:?}/*.supervisor.conf
sudo sed -i -E "s@command=(.*)@command=${MINION_HOME:?}/envwrapper.sh ${MINION_HOME:?}/env gunicorn -b 127.0.0.1:8383 -w 6 minion.backend.wsgi:app@" ${SUPERVISOR_CONFDIR:?}/minion-backend.supervisor.conf
sudo sed -i -E "s@directory=(.*)@dictionary=${MINION_HOME:?}/minion-backend@" ${SUPERVISOR_CONFDIR:?}/minion-backend.supervisor.conf
sudo sed -i -E "s@command=(.*)@command=${MINION_HOME:?}/envwrapper.sh ${MINION_HOME:?}/env \1@" ${SUPERVISOR_CONFDIR:?}/minion-*-worker.supervisor.conf
sudo mkdir -p ${MINION_CONFDIR:?}
sudo touch ${MINION_CONFDIR:?}/frontend.json
sudo chmod a+w ${MINION_CONFDIR:?}/frontend.json
SECRET=$(for i in {1..5}; do echo -n $RANDOM; done)
cat <<FIN >${MINION_CONFDIR:?}/frontend.json
{
"session-secret":"${SECRET:?}",
"backend-api":{
"url":"http://127.0.0.1:8383"
}
}
FIN
cat <<FIN >${MINION_HOME:?}/envwrapper.sh
#!/bin/sh
# from http://d.hatena.ne.jp/heavenshell/20121122/1353597292
VENV=\$1
echo \$VENV
if [ -z \$VENV ]; then
echo "usage: runinenv [virtualenv_path] CMDS"
exit 1
fi
. \${VENV}/bin/activate
shift 1
echo "Executing \$@ in \${VENV}"
exec "\$@"
FIN
chmod a+x ${MINION_HOME:?}/envwrapper.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment