Initial commit
This commit is contained in:
commit
8754b77966
|
@ -0,0 +1 @@
|
||||||
|
streamrecord/
|
|
@ -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
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[program:cron]
|
||||||
|
command=/usr/sbin/cron -f
|
||||||
|
autorestart=true
|
|
@ -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/;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
[program:nginx]
|
||||||
|
command=/usr/sbin/nginx
|
||||||
|
autorestart=true
|
|
@ -0,0 +1,4 @@
|
||||||
|
[program:streamrecord]
|
||||||
|
command=/usr/bin/uwsgi --ini /etc/uwsgi/apps-enabled/streamrecord.ini --uid streamrecord --gid streamrecord
|
||||||
|
autorestart=true
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[supervisord]
|
||||||
|
nodaemon=true
|
||||||
|
|
Loading…
Reference in New Issue