From fff266e1cecd2569cef03bab98c6ee8a9c07d717 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 09:14:08 -0400 Subject: [PATCH 01/34] First try of docker --- Dockerfile | 14 ++++++++++++++ requirements.txt | 4 +--- 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0e2d480 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM archlinux:latest +RUN pacman -Syy +RUN pacman -Syu +RUN pacman -S python python-pip git +RUN mkdir -p /srv/Books && mkdir -p /srv/http && \ + chown -R http.http /srv/Books && chown -R http.http /srv/http +RUN systemctl enable sshd +VOLUME ['/srv/Books','/srv/http'] +ENV nginx_conf /etc/nginx/nginx.conf +ENV PYTHONUNBUFFERED 1 +WORKDIR /srv/http +RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ + pip install -r requirements.txt +EXPOSE 80 22 8000 diff --git a/requirements.txt b/requirements.txt index d856ea0..6d891d8 100755 --- a/requirements.txt +++ b/requirements.txt @@ -12,12 +12,10 @@ pre-commit isort django toml -:close - -q django-debug-toolbar psycopg2-binary prompt_toolkit psutil pyfiglet psycopg2 +gunicorn From 47bff56119d0574d63bf695dbfc4783a90e684b9 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 09:48:26 -0400 Subject: [PATCH 02/34] Updated requirements to use psycopg2-binary --- Dockerfile | 10 ++++++---- requirements.txt | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e2d480..482b124 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,16 @@ FROM archlinux:latest RUN pacman -Syy -RUN pacman -Syu -RUN pacman -S python python-pip git +RUN pacman -Syu --noconfirm +RUN pacman -S --noconfirm python python-pip git openssh +RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && \ - chown -R http.http /srv/Books && chown -R http.http /srv/http + chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http RUN systemctl enable sshd VOLUME ['/srv/Books','/srv/http'] ENV nginx_conf /etc/nginx/nginx.conf ENV PYTHONUNBUFFERED 1 WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ - pip install -r requirements.txt + git checkout 0.5.0--docker && pip install -r requirements.txt EXPOSE 80 22 8000 +RUN gunicorn pyShelf.wsgi 8000:8000 diff --git a/requirements.txt b/requirements.txt index 6d891d8..005e2df 100755 --- a/requirements.txt +++ b/requirements.txt @@ -17,5 +17,5 @@ psycopg2-binary prompt_toolkit psutil pyfiglet -psycopg2 +psycopg2-binary gunicorn From b27ef2b0c1f230beac096f2168ba11ca9ea5f982 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:00:25 -0400 Subject: [PATCH 03/34] Reinclude create_db.sql --- .gitignore | 1 - Dockerfile | 7 +++++-- create_db.sql | 1 + installer | 3 --- 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 create_db.sql diff --git a/.gitignore b/.gitignore index 7d5c28b..bc1824a 100755 --- a/.gitignore +++ b/.gitignore @@ -125,7 +125,6 @@ dmypy.json # End of https://www.gitignore.io/api/python 0 config.backup.json -create_db.sql uwsgi.ini installer.log pyshelf_nginx.conf diff --git a/Dockerfile b/Dockerfile index 482b124..ad2c704 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,19 @@ FROM archlinux:latest RUN pacman -Syy RUN pacman -Syu --noconfirm -RUN pacman -S --noconfirm python python-pip git openssh +RUN pacman -S --noconfirm python python-pip git openssh postgresql +RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data +RUN systemctl enable postgresql && systemctl start postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && \ chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http -RUN systemctl enable sshd +RUN systemctl enable sshd && systemctl start sshd VOLUME ['/srv/Books','/srv/http'] ENV nginx_conf /etc/nginx/nginx.conf ENV PYTHONUNBUFFERED 1 WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ git checkout 0.5.0--docker && pip install -r requirements.txt +RUN sudo -u postgres psql -f create_db.sql EXPOSE 80 22 8000 RUN gunicorn pyShelf.wsgi 8000:8000 diff --git a/create_db.sql b/create_db.sql new file mode 100755 index 0000000..9308ad0 --- /dev/null +++ b/create_db.sql @@ -0,0 +1 @@ +CREATE DATABASE 'pyshelf'; CREATE USER 'pyshelf' WITH PASSWORD 'pyshelf'; GRANT ALL PRIVILEGES ON DATABASE 'pyshelf' TO 'pyshelf'; diff --git a/installer b/installer index 6a8a36a..0aeea91 100755 --- a/installer +++ b/installer @@ -307,9 +307,6 @@ if RequiredServices().db_server_found(req) is False: # sql_user = config["USER"] sql_user = "pyshelf" db_name = "pyshelf" - import pudb - - pudb.set_trace() psql_cmd = ( "CREATE DATABASE %s; CREATE USER %s WITH PASSWORD '%s'; GRANT ALL PRIVILEGES ON DATABASE %s TO %s;" % (db_name, sql_user, sql_pass, db_name, sql_user) From 50f41604da8480c2f07f00071d96c8d926f4116f Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:04:14 -0400 Subject: [PATCH 04/34] Added sudo to docker install --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ad2c704..e97f9eb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM archlinux:latest RUN pacman -Syy RUN pacman -Syu --noconfirm -RUN pacman -S --noconfirm python python-pip git openssh postgresql +RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN systemctl enable postgresql && systemctl start postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf From 7d031b597450b9df27953ae7bc74e88a0264389f Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:12:50 -0400 Subject: [PATCH 05/34] Updated Dockerfile --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e97f9eb..65c4f6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,12 @@ RUN pacman -Syy RUN pacman -Syu --noconfirm RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data -RUN systemctl enable postgresql && systemctl start postgresql +RUN systemctl enable postgresql +RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/http/pgsql.log start RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && \ chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http -RUN systemctl enable sshd && systemctl start sshd +RUN systemctl enable sshd VOLUME ['/srv/Books','/srv/http'] ENV nginx_conf /etc/nginx/nginx.conf ENV PYTHONUNBUFFERED 1 From f3040b4bfbcdefb0ad3141bb5802fcd902301327 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:17:48 -0400 Subject: [PATCH 06/34] Updated Dockerfile --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 65c4f6d..d2488ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,8 +6,9 @@ RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/da RUN systemctl enable postgresql RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/http/pgsql.log start RUN useradd pyshelf && chpasswd pyshelf:pyshelf -RUN mkdir -p /srv/Books && mkdir -p /srv/http && \ - chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http +RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ + chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http && \ + chmod e+rw /srv/logs RUN systemctl enable sshd VOLUME ['/srv/Books','/srv/http'] ENV nginx_conf /etc/nginx/nginx.conf From 61e892f650e9d530bdb0e522a3ab2e1b5d74d29f Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:37:43 -0400 Subject: [PATCH 07/34] Updated Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d2488ba..c2d974a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,12 +4,12 @@ RUN pacman -Syu --noconfirm RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN systemctl enable postgresql -RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/http/pgsql.log start RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http && \ chmod e+rw /srv/logs RUN systemctl enable sshd +RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start VOLUME ['/srv/Books','/srv/http'] ENV nginx_conf /etc/nginx/nginx.conf ENV PYTHONUNBUFFERED 1 From 63453d383f638352742c09cdaf436850f810a486 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:41:12 -0400 Subject: [PATCH 08/34] Updated Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c2d974a..2f05c90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/da RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ - chown -R http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http && \ + chown -r http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http && \ chmod e+rw /srv/logs RUN systemctl enable sshd RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start From fa1e421a90c6540c76584d28f3a6d915b0273d8a Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:46:17 -0400 Subject: [PATCH 09/34] Updated Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2f05c90..64c23a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/da RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ - chown -r http.pyshelf /srv/Books && chown -R http.pyshelf /srv/http && \ + chown -r http.pyshelf /srv/Books && chown -r http.pyshelf /srv/http && \ chmod e+rw /srv/logs RUN systemctl enable sshd RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start From 1d52de18f2d7b48f436e841ebb7b01757f6938e1 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:50:26 -0400 Subject: [PATCH 10/34] Updated Dockerfile removed incorrect recursion flag on chown --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 64c23a5..06738ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/da RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ - chown -r http.pyshelf /srv/Books && chown -r http.pyshelf /srv/http && \ + chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && \ chmod e+rw /srv/logs RUN systemctl enable sshd RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start From 8abc54f280404e5eb025b1f79db01643244bce0f Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 10:54:29 -0400 Subject: [PATCH 11/34] Updated Dockerfile adjusted ownership for logs directory --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 06738ef..14af5e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && \ - chmod e+rw /srv/logs + chmod a=rw /srv/logs RUN systemctl enable sshd RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start VOLUME ['/srv/Books','/srv/http'] From e8cbbce4d74b2c4109c5c6d061245bd1f57fd841 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 11:11:24 -0400 Subject: [PATCH 12/34] Fixed Dockerfile? --- Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 14af5e2..46366fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,13 @@ RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf -RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ \ - chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && \ - chmod a=rw /srv/logs +RUN mkdir -p /srv/Books && \ + mkdir -p /srv/http && \ + mkdir -p /srv/logs/ && \ + touch /srv/logs/pgsql.log && \ + chown http.pyshelf /srv/Books && \ + chown http.pyshelf /srv/http && \ + chown postgres /srv/logs/pgsql.log RUN systemctl enable sshd RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start VOLUME ['/srv/Books','/srv/http'] From 10504825b3c0d25908d3b12d2462594057f9cca7 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 11:54:30 -0400 Subject: [PATCH 13/34] Updated Dockerfile to build to my dockerhub --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 46366fc..31c8717 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM archlinux:latest RUN pacman -Syy RUN pacman -Syu --noconfirm -RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo +RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo base-devel RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf @@ -13,13 +13,13 @@ RUN mkdir -p /srv/Books && \ chown http.pyshelf /srv/http && \ chown postgres /srv/logs/pgsql.log RUN systemctl enable sshd -RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +# RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start VOLUME ['/srv/Books','/srv/http'] -ENV nginx_conf /etc/nginx/nginx.conf +# ENV nginx_conf /etc/nginx/nginx.conf ENV PYTHONUNBUFFERED 1 WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ git checkout 0.5.0--docker && pip install -r requirements.txt RUN sudo -u postgres psql -f create_db.sql EXPOSE 80 22 8000 -RUN gunicorn pyShelf.wsgi 8000:8000 +# RUN gunicorn pyShelf.wsgi 8000:8000 From fab0255ee1d07da7106f532cc904c3914c5cfe7c Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 11:58:01 -0400 Subject: [PATCH 14/34] Removed blocking commands --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 31c8717..dc5037d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,6 @@ ENV PYTHONUNBUFFERED 1 WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ git checkout 0.5.0--docker && pip install -r requirements.txt -RUN sudo -u postgres psql -f create_db.sql +# RUN sudo -u postgres psql -f create_db.sql EXPOSE 80 22 8000 # RUN gunicorn pyShelf.wsgi 8000:8000 From 643f338faa4fe9df6e96c4a31756f5f54ac042f8 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:07:16 -0400 Subject: [PATCH 15/34] Added default entry point --- Dockerfile | 16 ++++++++-------- entry.sh | 6 ++++++ 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100755 entry.sh diff --git a/Dockerfile b/Dockerfile index dc5037d..3c047a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,23 +3,23 @@ RUN pacman -Syy RUN pacman -Syu --noconfirm RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo base-devel RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data -RUN systemctl enable postgresql RUN useradd pyshelf && chpasswd pyshelf:pyshelf RUN mkdir -p /srv/Books && \ mkdir -p /srv/http && \ mkdir -p /srv/logs/ && \ + mkdir -p /run/postgresql && \ touch /srv/logs/pgsql.log && \ + chown postgres.postgres /run/postgresql && \ chown http.pyshelf /srv/Books && \ chown http.pyshelf /srv/http && \ - chown postgres /srv/logs/pgsql.log -RUN systemctl enable sshd -# RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start -VOLUME ['/srv/Books','/srv/http'] -# ENV nginx_conf /etc/nginx/nginx.conf -ENV PYTHONUNBUFFERED 1 + chown postgres.postgres /srv/logs/pgsql.log +ENV PYTHONUNBUFFERED=1 +VOLUME ['/srv/Books','/srv/http','/srv/logs'] WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ git checkout 0.5.0--docker && pip install -r requirements.txt +# RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start # RUN sudo -u postgres psql -f create_db.sql -EXPOSE 80 22 8000 # RUN gunicorn pyShelf.wsgi 8000:8000 +EXPOSE 80 22 8000 +CMD ["sh", "-c","entry.sh"] diff --git a/entry.sh b/entry.sh new file mode 100755 index 0000000..a9e688e --- /dev/null +++ b/entry.sh @@ -0,0 +1,6 @@ +#!/bin/bash +sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +sudo -u postgres psql -f create_db.sql +rm entry.sh +echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > entry.sh +chmod +x entry.sh From c04acc6b92f6833c57738f0904f8ac0502d7f285 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:13:29 -0400 Subject: [PATCH 16/34] reformed sql query --- Dockerfile | 2 +- create_db.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3c047a5..20e51fe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,4 +22,4 @@ RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ # RUN sudo -u postgres psql -f create_db.sql # RUN gunicorn pyShelf.wsgi 8000:8000 EXPOSE 80 22 8000 -CMD ["sh", "-c","entry.sh"] +CMD ["sh", "-c","/srv/http/entry.sh"] diff --git a/create_db.sql b/create_db.sql index 9308ad0..0ffee21 100755 --- a/create_db.sql +++ b/create_db.sql @@ -1 +1 @@ -CREATE DATABASE 'pyshelf'; CREATE USER 'pyshelf' WITH PASSWORD 'pyshelf'; GRANT ALL PRIVILEGES ON DATABASE 'pyshelf' TO 'pyshelf'; +CREATE DATABASE "pyshelf"; CREATE USER "pyshelf" WITH PASSWORD "pyshelf"; GRANT ALL PRIVILEGES ON DATABASE "pyshelf" TO "pyshelf"; From e150a5c224810b4db394e4cd4d53c212c9c61619 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:14:51 -0400 Subject: [PATCH 17/34] reformed sql query --- entry.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entry.sh b/entry.sh index a9e688e..8022439 100755 --- a/entry.sh +++ b/entry.sh @@ -1,6 +1,6 @@ #!/bin/bash sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start sudo -u postgres psql -f create_db.sql -rm entry.sh -echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > entry.sh -chmod +x entry.sh +rm /srv/http/entry.sh +echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/entry.sh +chmod +x /srv/http/entry.sh From 82f186b4f9211d3c9eac7c1ace2f2bb2cdc1e9bd Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:25:59 -0400 Subject: [PATCH 18/34] Restructured create_db.sql --- create_db.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_db.sql b/create_db.sql index 0ffee21..4c09394 100755 --- a/create_db.sql +++ b/create_db.sql @@ -1 +1 @@ -CREATE DATABASE "pyshelf"; CREATE USER "pyshelf" WITH PASSWORD "pyshelf"; GRANT ALL PRIVILEGES ON DATABASE "pyshelf" TO "pyshelf"; +CREATE DATABASE pyshelf; CREATE USER pyshelf WITH PASSWORD pyshelf; GRANT ALL PRIVILEGES ON DATABASE pyshelf TO pyshelf; From eaf689be97e0a4626afd9bb76a8a43f21cc0ea33 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:45:27 -0400 Subject: [PATCH 19/34] Still working on the post install execution of Docker --- Dockerfile | 2 +- create_db.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 20e51fe..6510ce4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ ENV PYTHONUNBUFFERED=1 VOLUME ['/srv/Books','/srv/http','/srv/logs'] WORKDIR /srv/http RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ - git checkout 0.5.0--docker && pip install -r requirements.txt + git checkout 0.5.0--docker && git fetch && pip install -r requirements.txt # RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start # RUN sudo -u postgres psql -f create_db.sql # RUN gunicorn pyShelf.wsgi 8000:8000 diff --git a/create_db.sql b/create_db.sql index 4c09394..9308ad0 100755 --- a/create_db.sql +++ b/create_db.sql @@ -1 +1 @@ -CREATE DATABASE pyshelf; CREATE USER pyshelf WITH PASSWORD pyshelf; GRANT ALL PRIVILEGES ON DATABASE pyshelf TO pyshelf; +CREATE DATABASE 'pyshelf'; CREATE USER 'pyshelf' WITH PASSWORD 'pyshelf'; GRANT ALL PRIVILEGES ON DATABASE 'pyshelf' TO 'pyshelf'; From 41493b66f4bcd4443272d3076385cdd6646a8013 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 14:51:52 -0400 Subject: [PATCH 20/34] SQL formating --- create_db.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/create_db.sql b/create_db.sql index 9308ad0..3cd05a2 100755 --- a/create_db.sql +++ b/create_db.sql @@ -1 +1,3 @@ -CREATE DATABASE 'pyshelf'; CREATE USER 'pyshelf' WITH PASSWORD 'pyshelf'; GRANT ALL PRIVILEGES ON DATABASE 'pyshelf' TO 'pyshelf'; +CREATE USER pyshelf WITH PASSWORD pyshelf; +CREATE DATABASE pyshelf; +GRANT ALL PRIVILEGES ON DATABASE pyshelf TO pyshelf; From d9ba44e3170d3bb49b326e389266ba3714553b0d Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:03:55 -0400 Subject: [PATCH 21/34] Modified entry.sh to pull changes from git --- entry.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/entry.sh b/entry.sh index 8022439..8d19a50 100755 --- a/entry.sh +++ b/entry.sh @@ -1,5 +1,6 @@ #!/bin/bash sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +git pull sudo -u postgres psql -f create_db.sql rm /srv/http/entry.sh echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/entry.sh From 1aeb2fbea6fa81962005f93a0ab90ccf1a6c0e44 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:10:52 -0400 Subject: [PATCH 22/34] Restructure entrypoint ops --- database.sh | 6 ++++++ entry.sh | 6 +----- make_databases.sh | 6 ++++++ 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100755 database.sh create mode 100644 make_databases.sh diff --git a/database.sh b/database.sh new file mode 100755 index 0000000..20722d6 --- /dev/null +++ b/database.sh @@ -0,0 +1,6 @@ +#!/bin/bash +sh -c sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +sh -c sudo -u postgres psql -f create_db.sql +rm /srv/http/database.sh +echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh +chmod +x /srv/http/database.sh diff --git a/entry.sh b/entry.sh index 8d19a50..13ffa35 100755 --- a/entry.sh +++ b/entry.sh @@ -1,7 +1,3 @@ #!/bin/bash -sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start git pull -sudo -u postgres psql -f create_db.sql -rm /srv/http/entry.sh -echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/entry.sh -chmod +x /srv/http/entry.sh +sh -c database.sh diff --git a/make_databases.sh b/make_databases.sh new file mode 100644 index 0000000..20722d6 --- /dev/null +++ b/make_databases.sh @@ -0,0 +1,6 @@ +#!/bin/bash +sh -c sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +sh -c sudo -u postgres psql -f create_db.sql +rm /srv/http/database.sh +echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh +chmod +x /srv/http/database.sh From 6567fe56678272f2bf5d47b26f9022e56946e8bd Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:18:52 -0400 Subject: [PATCH 23/34] adjusted git hook --- entry.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entry.sh b/entry.sh index 13ffa35..9ed5721 100755 --- a/entry.sh +++ b/entry.sh @@ -1,3 +1,3 @@ #!/bin/bash -git pull -sh -c database.sh +git fetch +sh -c ./database.sh From 8b901fb88965cd5f0326aa0152a1b7c734a63e54 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:20:56 -0400 Subject: [PATCH 24/34] adjusted git hook --- entry.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entry.sh b/entry.sh index 9ed5721..ebf1a33 100755 --- a/entry.sh +++ b/entry.sh @@ -1,3 +1,3 @@ #!/bin/bash git fetch -sh -c ./database.sh +sh /srv/http/database.sh From 98cb00d1abc48d3dbc05a9c8d93693698e7e7fe2 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:24:40 -0400 Subject: [PATCH 25/34] adjust entry point parameters --- entry.sh | 2 +- make_databases.sh | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 make_databases.sh diff --git a/entry.sh b/entry.sh index ebf1a33..40a6eaf 100755 --- a/entry.sh +++ b/entry.sh @@ -1,3 +1,3 @@ #!/bin/bash -git fetch +git pull sh /srv/http/database.sh diff --git a/make_databases.sh b/make_databases.sh deleted file mode 100644 index 20722d6..0000000 --- a/make_databases.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -sh -c sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start -sh -c sudo -u postgres psql -f create_db.sql -rm /srv/http/database.sh -echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh -chmod +x /srv/http/database.sh From 01011a338bd98af86f9773bb56d38f41ee171414 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:35:01 -0400 Subject: [PATCH 26/34] Changed database calls --- database.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database.sh b/database.sh index 20722d6..836be72 100755 --- a/database.sh +++ b/database.sh @@ -1,6 +1,6 @@ #!/bin/bash -sh -c sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start -sh -c sudo -u postgres psql -f create_db.sql +sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +sudo -u postgres psql -f create_db.sql rm /srv/http/database.sh echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh chmod +x /srv/http/database.sh From f0c19940c1a8737dc76ffa39d12acb170199cd00 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:37:02 -0400 Subject: [PATCH 27/34] Changed database calls --- create_db.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_db.sql b/create_db.sql index 3cd05a2..b6c6d55 100755 --- a/create_db.sql +++ b/create_db.sql @@ -1,3 +1,3 @@ -CREATE USER pyshelf WITH PASSWORD pyshelf; +CREATE USER pyshelf WITH PASSWORD 'pyshelf'; CREATE DATABASE pyshelf; GRANT ALL PRIVILEGES ON DATABASE pyshelf TO pyshelf; From c78b40c14b22d36f31ff99aad859d978973d59d8 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 15:41:11 -0400 Subject: [PATCH 28/34] Adjust entrypoint --- entry.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/entry.sh b/entry.sh index 40a6eaf..63d2b6c 100755 --- a/entry.sh +++ b/entry.sh @@ -1,3 +1,4 @@ #!/bin/bash git pull sh /srv/http/database.sh +/bin/bash From c81c035ba07bce9692401b858dd0e6e55e7cb8d9 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 16:12:32 -0400 Subject: [PATCH 29/34] Updated config for docker image --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 71951be..6765835 100755 --- a/config.json +++ b/config.json @@ -1 +1 @@ -{"TITLE": "pyShelf E-Book Server", "VERSION": "0.5.0", "BOOKPATH": "", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "hostname": "localhost", "webport": "8000", "wsgiport": "8001"} +{"TITLE": "pyShelf E-Book Server", "VERSION": "0.5.0", "BOOKPATH": "/srv/Books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "hostname": "localhost", "webport": "8000", "wsgiport": "8001"} From 2b8633cf41360d5686cc5ccc1624e120d83486db Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 16:23:24 -0400 Subject: [PATCH 30/34] Made pudb a requirement --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 005e2df..98b7239 100755 --- a/requirements.txt +++ b/requirements.txt @@ -19,3 +19,4 @@ psutil pyfiglet psycopg2-binary gunicorn +pudb From feabc373b8145e6de21903bd3f71e7e72cb1ff6a Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 16:29:27 -0400 Subject: [PATCH 31/34] Adjusted entrypoint ops --- database.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/database.sh b/database.sh index 836be72..042cbd0 100755 --- a/database.sh +++ b/database.sh @@ -1,6 +1,12 @@ #!/bin/bash -sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start -sudo -u postgres psql -f create_db.sql -rm /srv/http/database.sh -echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh -chmod +x /srv/http/database.sh +sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start && +sudo -u postgres psql -f create_db.sql && +rm /srv/http/database.sh && +echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh && +chmod +x /srv/http/database.sh && +cd src && \ + python manage.py makemigrations && \ + python manage.py makemigrations interface && \ + python manage.py migrate && \ + python manage.py migrate interface && \ +cd .. && From 2ddf8270423b48f0e00238c04b1d56750ab286eb Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 7 Apr 2020 16:30:40 -0400 Subject: [PATCH 32/34] Adjusted entrypoint ops --- database.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/database.sh b/database.sh index 042cbd0..2cc4536 100755 --- a/database.sh +++ b/database.sh @@ -9,4 +9,5 @@ cd src && \ python manage.py makemigrations interface && \ python manage.py migrate && \ python manage.py migrate interface && \ -cd .. && +cd .. +echo "pyShelf Env Started" From c21c5094f0f0f7c912ab0a14804fef764427cd78 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Wed, 8 Apr 2020 19:04:01 -0400 Subject: [PATCH 33/34] Fixed volume mounting? --- Dockerfile | 26 +++++++++----------------- entry.sh | 6 +++--- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6510ce4..a71931a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,17 @@ FROM archlinux:latest RUN pacman -Syy RUN pacman -Syu --noconfirm -RUN pacman -S --noconfirm python python-pip git openssh postgresql sudo base-devel +RUN pacman -S --noconfirm python python-pip git postgresql sudo gcc RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN useradd pyshelf && chpasswd pyshelf:pyshelf -RUN mkdir -p /srv/Books && \ - mkdir -p /srv/http && \ - mkdir -p /srv/logs/ && \ - mkdir -p /run/postgresql && \ - touch /srv/logs/pgsql.log && \ - chown postgres.postgres /run/postgresql && \ - chown http.pyshelf /srv/Books && \ - chown http.pyshelf /srv/http && \ - chown postgres.postgres /srv/logs/pgsql.log +RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ && mkdir -p /run/postgresql && \ + touch /srv/logs/pgsql.log && chown postgres.postgres /run/postgresql && \ + chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && chown postgres.postgres /srv/logs/pgsql.log +VOLUME ['/srv/Books ./Books','/srv/http .','/srv/logs ./logs','/var/lib/postgres/data ./data'] +RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start +RUN sudo -u postgres psql -f create_db.sql ENV PYTHONUNBUFFERED=1 -VOLUME ['/srv/Books','/srv/http','/srv/logs'] WORKDIR /srv/http -RUN git clone https://github.com/th3r00t/pyShelf.git /srv/http && \ - git checkout 0.5.0--docker && git fetch && pip install -r requirements.txt -# RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start -# RUN sudo -u postgres psql -f create_db.sql -# RUN gunicorn pyShelf.wsgi 8000:8000 -EXPOSE 80 22 8000 +RUN pip install -r requirements.txt +EXPOSE 80 8000 CMD ["sh", "-c","/srv/http/entry.sh"] diff --git a/entry.sh b/entry.sh index 63d2b6c..25497f9 100755 --- a/entry.sh +++ b/entry.sh @@ -1,4 +1,4 @@ #!/bin/bash -git pull -sh /srv/http/database.sh -/bin/bash +#sh /srv/http/database.sh +sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start && +#gunicorn pyShelf.wsgi 8000:8000 From 227cb1d46f38c376d0cb689526b033dacd9cf35a Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Tue, 5 May 2020 14:11:47 -0400 Subject: [PATCH 34/34] Working on dockerfile --- Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index a71931a..9f4f459 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,10 +4,13 @@ RUN pacman -Syu --noconfirm RUN pacman -S --noconfirm python python-pip git postgresql sudo gcc RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data RUN useradd pyshelf && chpasswd pyshelf:pyshelf -RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ && mkdir -p /run/postgresql && \ - touch /srv/logs/pgsql.log && chown postgres.postgres /run/postgresql && \ - chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && chown postgres.postgres /srv/logs/pgsql.log -VOLUME ['/srv/Books ./Books','/srv/http .','/srv/logs ./logs','/var/lib/postgres/data ./data'] +#RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ && mkdir -p /run/postgresql && \ +# touch /srv/logs/pgsql.log && chown postgres.postgres /run/postgresql && \ +# chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && chown postgres.postgres /srv/logs/pgsql.log +VOLUME /srv/Books ./Books +VOLUME /srv/http . +VOLUME /srv/logs ./logs +VOLUME /var/lib/postgres/data ./pgdata RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start RUN sudo -u postgres psql -f create_db.sql ENV PYTHONUNBUFFERED=1