diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/collector/Dockerfile | 24 | ||||
-rw-r--r-- | docker/collector/nginx.conf | 13 | ||||
-rwxr-xr-x | docker/collector/setup.sh | 8 | ||||
-rw-r--r-- | docker/collector/supervisord.conf | 16 | ||||
-rw-r--r-- | docker/collector/uwsgi.conf | 10 | ||||
-rw-r--r-- | docker/collector/wsgi_demo_users.yaml | 15 | ||||
-rw-r--r-- | docker/docker-compose.yaml | 4 |
7 files changed, 89 insertions, 1 deletions
diff --git a/docker/collector/Dockerfile b/docker/collector/Dockerfile new file mode 100644 index 0000000..b84a56a --- /dev/null +++ b/docker/collector/Dockerfile @@ -0,0 +1,24 @@ +FROM debian:bullseye + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update +RUN apt install -y git nginx supervisor uwsgi uwsgi-plugin-python3 emacs-nox virtualenv procps +RUN apt clean + +WORKDIR /opt/ + +RUN mkdir certs +RUN git clone https://git.sunet.se/soc_collector.git /opt/collector + +WORKDIR /opt/collector/ + +COPY setup.sh /opt/collector/ +COPY supervisord.conf /etc/supervisor/ +COPY nginx.conf /etc/nginx/sites-available/default +COPY uwsgi.conf /etc/uwsgi/uwsgi.ini +COPY wsgi_demo_users.yaml /opt/collector/src/ + +RUN /opt/collector/setup.sh + +ENTRYPOINT supervisord -c /etc/supervisor/supervisord.conf diff --git a/docker/collector/nginx.conf b/docker/collector/nginx.conf new file mode 100644 index 0000000..8a816e4 --- /dev/null +++ b/docker/collector/nginx.conf @@ -0,0 +1,13 @@ +server { + listen 80; + server_name _; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log warn; + + location / { + include uwsgi_params; + uwsgi_pass uwsgi://localhost:8000; + + } +}
\ No newline at end of file diff --git a/docker/collector/setup.sh b/docker/collector/setup.sh new file mode 100755 index 0000000..2289487 --- /dev/null +++ b/docker/collector/setup.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +pip3 install uwsgi +cd /opt/collector/ +git checkout khn.nginx_wsgi +virtualenv venv +. venv/bin/activate +pip3 install -r requirements.txt diff --git a/docker/collector/supervisord.conf b/docker/collector/supervisord.conf new file mode 100644 index 0000000..f787c10 --- /dev/null +++ b/docker/collector/supervisord.conf @@ -0,0 +1,16 @@ +[supervisord] +nodaemon=true + +[program:uwsgi_internal] +command = /usr/bin/uwsgi --ini /etc/uwsgi/uwsgi.ini --plugin python3 +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 + +[program:nginx] +command=/usr/sbin/nginx -g "daemon off;" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/collector/uwsgi.conf b/docker/collector/uwsgi.conf new file mode 100644 index 0000000..651274d --- /dev/null +++ b/docker/collector/uwsgi.conf @@ -0,0 +1,10 @@ +[uwsgi] +chdir = /opt/collector/src/ +virtualenv = /opt/collector/venv/ +wsgi-file = wsgi.py +callable = app +socket = :8000 +master = true +enable-threads = true +processes = 4 +threads = 2
\ No newline at end of file diff --git a/docker/collector/wsgi_demo_users.yaml b/docker/collector/wsgi_demo_users.yaml new file mode 100644 index 0000000..49c4795 --- /dev/null +++ b/docker/collector/wsgi_demo_users.yaml @@ -0,0 +1,15 @@ +user1: + pw: pw1 + authz: + sunet.se: r + +user2: + pw: pw2 + authz: + su.se: r + +user3: + pw: pw3 + authz: + sunet.se: rw + su.se: r diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 63c6083..be09765 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -8,11 +8,13 @@ services: - COUCHDB_NAME - COUCHDB_HOSTNAME ports: - - 443:443 + - 80:80 volumes: - type: volume source: collector-certs target: /opt/certs/ + depends_on: + - couchdb couchdb: image: couchdb |