Browse Source

Initial version

master
Chris Smith 5 years ago
commit
ae1c7b7468
2 changed files with 62 additions and 0 deletions
  1. 22
    0
      Dockerfile
  2. 40
    0
      run.sh

+ 22
- 0
Dockerfile View File

@@ -0,0 +1,22 @@
1
+FROM debian:stretch
2
+
3
+RUN \
4
+  apt-get update && \
5
+  apt-get -y install \
6
+    taskd \
7
+  && rm -rf /var/lib/apt/lists/*
8
+
9
+COPY run.sh /run.sh
10
+
11
+RUN \
12
+  useradd tasks && \
13
+  mkdir /var/taskd && \
14
+  chown tasks:tasks /var/taskd
15
+
16
+USER tasks
17
+
18
+VOLUME /var/taskd
19
+ENV TASKDDATA /var/taskd
20
+
21
+EXPOSE 53589
22
+ENTRYPOINT ["/run.sh"]

+ 40
- 0
run.sh View File

@@ -0,0 +1,40 @@
1
+#!/bin/bash
2
+
3
+if [ ! -e "${TASKDDATA}/config" ]; then
4
+
5
+    # Initialise
6
+    taskd init
7
+
8
+    # Create PKI directory and copy scripts
9
+    mkdir "${TASKDDATA}/pki"
10
+    cp /usr/share/taskd/pki/generate* "${TASKDDATA}/pki"
11
+
12
+    # Write variables for PKI
13
+    cat >"${TASKDDATA}/pki/vars" <<- EOF
14
+        BITS=4096
15
+        EXPIRATION_DAYS=365
16
+        ORGANIZATION="${PKI_OU:-Unknown}"
17
+        CN="${PKI_CN:-Unknown}"
18
+        COUNTRY="${PKI_COUNTRY:-Unknown}"
19
+        STATE="${PKI_STATE:-Unknown}"
20
+        LOCALITY="${PKI_LOCALITY:-Unknown}"
21
+EOF
22
+
23
+    # Generate certs
24
+    cd "${TASKDDATA}/pki"
25
+    ./generate
26
+
27
+    # Configure the server to use the new certs
28
+    taskd config --force client.cert "${TASKDDATA}/pki/client.cert.pem"
29
+    taskd config --force client.key "${TASKDDATA}/pki/client.key.pem"
30
+    taskd config --force server.cert "${TASKDDATA}/pki/server.cert.pem"
31
+    taskd config --force server.key "${TASKDDATA}/pki/server.key.pem"
32
+    taskd config --force server.crl "${TASKDDATA}/pki/server.crl.pem"
33
+    taskd config --force ca.cert "${TASKDDATA}/pki/ca.cert.pem"
34
+
35
+    # Listen on the default port
36
+    taskd config --force server 0.0.0.0:53589
37
+fi
38
+
39
+taskd server --data "${TASKDDATA}"
40
+

Loading…
Cancel
Save