diff --git a/Dockerfile b/Dockerfile index 9d488074fb51218075bf7c756bbbcc021d2b489d..d5b3a7981f9189d7a5d88e5197a5235a2574b056 100644 --- a/Dockerfile +++ b/Dockerfile @@ -54,3 +54,4 @@ RUN set -ex && \ chmod a+x /entrypoint.sh ENTRYPOINT [ "/entrypoint.sh" ] CMD [ "help" ] +USER sopds:sopds diff --git a/entrypoint.sh b/entrypoint.sh index 6e02bd252cf5335fda574cae6a96052f7bc6e4ce..a3b22d6b5d02df9ceb67182b72d71a7e06ababc5 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,51 +3,38 @@ CONTROL="python3 -u manage.py" config() { - chmod a+rwX /srv + chmod a+rwX /srv 2> /dev/null || true ## config test -f /srv/settings.py && ( echo "Existing config detected, saving default config to /srv/settings.py.default"; cp -f /home/sopds/sopds/settings.py /srv/settings.py.default ) || ( echo "Existing config is absent, creating a new one from default at /srv/settings.py"; cp -f /home/sopds/sopds/settings.py /srv/settings.py ) rm -rf /home/sopds/sopds/settings.py ln -sf /srv/settings.py /home/sopds/sopds/settings.py # access rights - chown -R sopds:sopds /home/sopds - chmod -R a+rwX /srv + chmod -R a+rwX /srv 2> /dev/null || true # essential setup - sudo -E \ - -u sopds \ - -g sopds \ - sh -c \ - "${CONTROL} migrate && \ - python3 superuser.py && \ - ${CONTROL} sopds_util setconf SOPDS_ROOT_LIB '/books' && \ - ${CONTROL} sopds_util setconf SOPDS_ZIPSCAN True && \ - ${CONTROL} sopds_util setconf SOPDS_ZIPCODEPAGE 'utf-8' && \ - ${CONTROL} sopds_util setconf SOPDS_DELETE_LOGICAL True && \ - ${CONTROL} sopds_util setconf SOPDS_INPX_ENABLE True && \ - ${CONTROL} sopds_util setconf SOPDS_INPX_SKIP_UNCHANGED True && \ - ${CONTROL} sopds_util setconf SOPDS_INPX_TEST_ZIP True && \ - ${CONTROL} sopds_util setconf SOPDS_INPX_TEST_FILES True" + ${CONTROL} migrate + python3 superuser.py + ${CONTROL} sopds_util setconf SOPDS_ROOT_LIB '/books' + ${CONTROL} sopds_util setconf SOPDS_ZIPSCAN True + ${CONTROL} sopds_util setconf SOPDS_ZIPCODEPAGE 'utf-8' + ${CONTROL} sopds_util setconf SOPDS_DELETE_LOGICAL True + ${CONTROL} sopds_util setconf SOPDS_INPX_ENABLE True + ${CONTROL} sopds_util setconf SOPDS_INPX_SKIP_UNCHANGED True + ${CONTROL} sopds_util setconf SOPDS_INPX_TEST_ZIP True + ${CONTROL} sopds_util setconf SOPDS_INPX_TEST_FILES True } ui () { config # Start UI - exec sudo -E \ - -u sopds \ - -g sopds \ - sh -c \ - "exec ${CONTROL} sopds_server start --host 0.0.0.0 --port 8000 $@" + exec ${CONTROL} sopds_server start --host 0.0.0.0 --port 8000 $@ } daemon () { config # Start daemon - exec sudo -E \ - -u sopds \ - -g sopds \ - sh -c \ - "exec ${CONTROL} sopds_scanner start $@" + exec ${CONTROL} sopds_scanner start $@ } help () {