Initial commit

This commit is contained in:
dave 2015-04-09 12:13:17 -07:00
commit 8754b77966
8 changed files with 79 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
streamrecord/

31
Dockerfile Normal file
View File

@ -0,0 +1,31 @@
FROM ubuntu:14.04
MAINTAINER Dave P
# Create user
RUN useradd --create-home --uid 1000 streamrecord ; \
echo "streamrecord:streamrecord" | chpasswd ; \
locale-gen en ; \
sed -i 's/archive.ubuntu.com/mirror.math.ucdavis.edu/' /etc/apt/sources.list ; \
apt-get update ; apt-get install -y vim nginx-full uwsgi uwsgi-plugin-python3 python3-cherrypy3 python3-jinja2 supervisor curl mkvtoolnix libav-tools cron ; \
echo "daemon off;" >> /etc/nginx/nginx.conf ; \
echo "* * * * * sleep 2 && curl -s http://127.0.0.1/api/tick > /dev/null" > /tmp/crontab ; \
crontab -u streamrecord /tmp/crontab ; \
rm /tmp/crontab ; \
su -c "mkdir /home/streamrecord/app/" streamrecord
# install configs
COPY default /etc/nginx/sites-available/default
COPY streamrecord.ini /etc/uwsgi/apps-enabled/streamrecord.ini
COPY nginx.conf /etc/supervisor/conf.d/nginx.conf
COPY cron.conf /etc/supervisor/conf.d/cron.conf
COPY streamrecord.conf /etc/supervisor/conf.d/streamrecord.conf
COPY supervisor.conf /etc/supervisor/conf.d/supervisor.conf
# Install python app code
COPY streamrecord/ /home/streamrecord/app/
RUN chown -R streamrecord /home/streamrecord/app ; \
su -c "mkdir /home/streamrecord/app/files /home/streamrecord/app/files/output /home/streamrecord/app/temp /home/streamrecord/app/sessions" streamrecord ; \
rm -rf /etc/cron*
EXPOSE 80

3
cron.conf Normal file
View File

@ -0,0 +1,3 @@
[program:cron]
command=/usr/sbin/cron -f
autorestart=true

16
default Normal file
View File

@ -0,0 +1,16 @@
server {
listen 80;
#listen [::]:80 ipv6only=on;
root /usr/share/nginx/html/;
include uwsgi_params;
access_log /var/log/nginx/stremrecord.log;
location / {
uwsgi_pass 127.0.0.1:3330;
}
location /static/ {
autoindex on;
alias /home/streamrecord/app/static/;
}
}

3
nginx.conf Normal file
View File

@ -0,0 +1,3 @@
[program:nginx]
command=/usr/sbin/nginx
autorestart=true

4
streamrecord.conf Normal file
View File

@ -0,0 +1,4 @@
[program:streamrecord]
command=/usr/bin/uwsgi --ini /etc/uwsgi/apps-enabled/streamrecord.ini --uid streamrecord --gid streamrecord
autorestart=true

18
streamrecord.ini Normal file
View File

@ -0,0 +1,18 @@
[uwsgi]
no-orphans = true
log-date = true
uid = streamrecord
pid = streamrecord
plugins = python3
touch-reload = /home/streamrecord/app/app.py
chdir = /home/streamrecord/app/
wsgi-file = /home/streamrecord/app/app.py
callable = application
master = true
processes = 1
socket = 127.0.0.1:3330
;pidfile = /tmp/streamrecord.pid
enable-threads = true
no-threads-wait = true
die-on-term = true

3
supervisor.conf Normal file
View File

@ -0,0 +1,3 @@
[supervisord]
nodaemon=true