Browse Source

Initial commit

master
dave 5 years ago
commit
8754b77966
8 changed files with 79 additions and 0 deletions
  1. +1
    -0
      .gitignore
  2. +31
    -0
      Dockerfile
  3. +3
    -0
      cron.conf
  4. +16
    -0
      default
  5. +3
    -0
      nginx.conf
  6. +4
    -0
      streamrecord.conf
  7. +18
    -0
      streamrecord.ini
  8. +3
    -0
      supervisor.conf

+ 1
- 0
.gitignore View File

@@ -0,0 +1 @@
streamrecord/

+ 31
- 0
Dockerfile 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
- 0
cron.conf View File

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

+ 16
- 0
default 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
- 0
nginx.conf View File

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

+ 4
- 0
streamrecord.conf 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
- 0
streamrecord.ini 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
- 0
supervisor.conf View File

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


Loading…
Cancel
Save