aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2021-10-29 14:58:31 +0200
committerLouis Burda <quent.burda@gmail.com>2021-10-29 14:58:31 +0200
commitb2b63e1fc8557e1f8809e66348a0a0364f30ac94 (patch)
treed4bb8db8391e9d55fdcaf86c65362fb07acebf20
parent18f76ee861e89a2f583bec4d7c12f1143ca3c47f (diff)
downloadbambi6-service-postit-b2b63e1fc8557e1f8809e66348a0a0364f30ac94.tar.gz
bambi6-service-postit-b2b63e1fc8557e1f8809e66348a0a0364f30ac94.zip
fixed rsa key generation on startup and cleaned up entrypoint scripts
-rw-r--r--checker/Dockerfile5
-rw-r--r--checker/docker-compose.yml2
-rw-r--r--checker/entrypoint.sh6
-rw-r--r--service/Dockerfile10
-rwxr-xr-xservice/entrypoint.sh14
5 files changed, 18 insertions, 19 deletions
diff --git a/checker/Dockerfile b/checker/Dockerfile
index 517876b..c9a9ee7 100644
--- a/checker/Dockerfile
+++ b/checker/Dockerfile
@@ -12,9 +12,10 @@ RUN chmod +x /entrypoint.sh
COPY ./src /checker
WORKDIR /checker
-RUN chown checker -R /checker
+RUN chown -R checker:checker /checker
USER checker
RUN python3 -m pip install --no-warn-script-location -r requirements.txt
-ENTRYPOINT [ "/entrypoint.sh" ]
+USER root
+ENTRYPOINT [ "sh", "-c", "chmod -R 777 /checker && su -c /entrypoint.sh checker" ]
diff --git a/checker/docker-compose.yml b/checker/docker-compose.yml
index e043dfd..3679028 100644
--- a/checker/docker-compose.yml
+++ b/checker/docker-compose.yml
@@ -25,7 +25,7 @@ services:
postit-mongo:
image: mongo
volumes:
- - ./data:/data/db
+ - ./data:/data/db:rw
environment:
MONGO_INITDB_ROOT_USERNAME: postit_mongo
MONGO_INITDB_ROOT_PASSWORD: postit_mongo
diff --git a/checker/entrypoint.sh b/checker/entrypoint.sh
index 225250b..ecca370 100644
--- a/checker/entrypoint.sh
+++ b/checker/entrypoint.sh
@@ -1,4 +1,6 @@
-#!/bin/sh
+#!/bin/bash
+
+set -e
python3 -c '
from Crypto.PublicKey import RSA
@@ -6,7 +8,9 @@ from sys import argv
from os import listdir
count = 100
+
files = listdir("keys")
+print(files)
for i in range(len(files), count):
with open(f"keys/{i}.rsa", "w+") as f:
print(f"\rGenerating key {i+1}/{count}", end="")
diff --git a/service/Dockerfile b/service/Dockerfile
index 4a84dab..0a8e4b5 100644
--- a/service/Dockerfile
+++ b/service/Dockerfile
@@ -1,19 +1,19 @@
FROM ubuntu:18.04
+RUN useradd -ms /bin/bash -u 1000 service
+
RUN apt update && apt install -y --no-install-recommends \
nmap gcc make libc6-dev libc6 libc-dev-bin libsqlite3-dev libgmp-dev
-RUN addgroup --system service
-RUN adduser --system --ingroup service --uid 1000 service
-
COPY entrypoint.sh /
RUN chmod 755 /entrypoint.sh
COPY src/ /service
RUN make -C /service clean && make -C /service
RUN chmod +x /service/postit /service/cleandb /service/gendb
-WORKDIR /service/
+RUN chown -R service:service /service
+WORKDIR /service
EXPOSE 9000
-ENTRYPOINT ["/entrypoint.sh"]
+ENTRYPOINT ["sh", "-c", "chmod -R 777 /service && su -c /entrypoint.sh service"]
diff --git a/service/entrypoint.sh b/service/entrypoint.sh
index f67d968..c8aea24 100755
--- a/service/entrypoint.sh
+++ b/service/entrypoint.sh
@@ -1,20 +1,14 @@
#!/bin/bash
-chown -R service:service /service /data
-
-runas() {
- su -s /bin/sh -c "$2" "$1"
-}
-
if [ ! -e "/data/db.sqlite3" ]; then
- runas service "/service/gendb /data/db.sqlite3"
+ /service/gendb /data/db.sqlite3
fi
while [ 1 ]; do
echo "[DB CLEANUP] @ $(date +%T)"
- runas service "/service/cleandb /data/db.sqlite3"
+ /service/cleandb /data/db.sqlite3
sleep 60
done &
-runas service "ncat --keep-open --listen -p 9000 --no-shutdown\
- --wait 10s --sh-exec '/service/postit /data/db.sqlite3'"
+ncat --keep-open --listen -p 9000 --no-shutdown \
+ --wait 10s --sh-exec '/service/postit /data/db.sqlite3'