Initial commit
This commit is contained in:
commit
8754b77966
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
streamrecord/
|
31
Dockerfile
Normal file
31
Dockerfile
Normal 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
3
cron.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[program:cron]
|
||||
command=/usr/sbin/cron -f
|
||||
autorestart=true
|
16
default
Normal file
16
default
Normal 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
3
nginx.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[program:nginx]
|
||||
command=/usr/sbin/nginx
|
||||
autorestart=true
|
4
streamrecord.conf
Normal file
4
streamrecord.conf
Normal 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
18
streamrecord.ini
Normal 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
3
supervisor.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
|
Loading…
Reference in New Issue
Block a user