diff options
| author | Louis Burda <quent.burda@gmail.com> | 2021-10-29 14:58:31 +0200 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2021-10-29 14:58:31 +0200 |
| commit | b2b63e1fc8557e1f8809e66348a0a0364f30ac94 (patch) | |
| tree | d4bb8db8391e9d55fdcaf86c65362fb07acebf20 | |
| parent | 18f76ee861e89a2f583bec4d7c12f1143ca3c47f (diff) | |
| download | bambi6-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/Dockerfile | 5 | ||||
| -rw-r--r-- | checker/docker-compose.yml | 2 | ||||
| -rw-r--r-- | checker/entrypoint.sh | 6 | ||||
| -rw-r--r-- | service/Dockerfile | 10 | ||||
| -rwxr-xr-x | service/entrypoint.sh | 14 |
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' |
