summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristofer Hallin <kristofer@sunet.se>2021-10-06 11:22:38 +0200
committerKristofer Hallin <kristofer@sunet.se>2021-10-06 11:22:38 +0200
commit69fed87bd4a627b60d1c3d05852a6a3e6075c952 (patch)
tree44cf0abc35dceabcc56e4d4ba58a9e24d7913a6b
parent579886d2176a869f55c2d0af4d1a1e30b8576105 (diff)
Added Collector container.
-rw-r--r--docker/collector/Dockerfile24
-rw-r--r--docker/collector/nginx.conf13
-rwxr-xr-xdocker/collector/setup.sh8
-rw-r--r--docker/collector/supervisord.conf16
-rw-r--r--docker/collector/uwsgi.conf10
-rw-r--r--docker/collector/wsgi_demo_users.yaml15
-rw-r--r--docker/docker-compose.yaml4
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