From 2b7c17a361492853fe86b0ce2f66515f100efec3 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Mon, 16 Apr 2018 20:43:54 +0200 Subject: [PATCH 1/4] Provide a multi-staged Dockerfile Many of the Docker images on hub.docker.com are outdated. The one specified in the documentation doesn't exist anymore. We provide a decent Dockerfile to build our own Docker image. This uses a multi-stage build to avoid polluting the final image with the intermediate artifacts. The final image is 155 MB. It should be possible to squeeze it even more by using Alpine Linux for the last two parts instead of Stretch. The service is using gunicorn. The user is expected to complete the installation with a reverse proxy configuration. --- Dockerfile | 33 +++++++++++++++++++++++++++++++++ docs/docs/install.rst | 13 ++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3a8203c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# First, compile JS stuff +FROM node +WORKDIR /src/ +COPY . . +RUN npm install -g requirejs uglify-js jade bower +RUN make init js + +# Second, create virtualenv +FROM python:3-stretch +WORKDIR /src/ +COPY --from=0 /src . +RUN apt-get -qqy update && apt-get -qqy install python3-dev sqlite3 +RUN python3 -m venv /isso \ + && . /isso/bin/activate \ + && python setup.py install \ + && pip install gunicorn + +# Third, create final repository +FROM python:3-slim-stretch +WORKDIR /isso/ +COPY --from=1 /isso . + +# Configuration +VOLUME /db /config +EXPOSE 8080 +ENV ISSO_SETTINGS /config/isso.cfg +CMD ["/isso/bin/gunicorn", "-b", "0.0.0.0:8080", "-w", "4", "--preload", "isso.run"] + +# Example of use: +# +# docker build -t isso . +# docker run -it --rm -v /opt/isso:/config -v /opt/isso:/db -v $PWD:$PWD isso /isso/bin/isso -c \$ISSO_SETTINGS import disqus.xml +# docker run -d --rm --name isso -p 8080:8080 -v /opt/isso:/config -v /opt/isso:/db isso diff --git a/docs/docs/install.rst b/docs/docs/install.rst index 44d829f..eb2ef35 100644 --- a/docs/docs/install.rst +++ b/docs/docs/install.rst @@ -149,7 +149,18 @@ Prebuilt Packages * Fedora: https://copr.fedoraproject.org/coprs/jujens/isso/ — copr repository. Built from Pypi, includes a systemctl unit script. -* Docker Image: https://registry.hub.docker.com/u/bl4n/isso/ +Build a Docker image +-------------------- + +You can get a Docker image by running ``docker build . -t +isso``. Assuming you have your configuration in ``/opt/isso``, you can +use the following command to spawn the Docker container: + +.. code-block:: sh + + ~> docker run -d --rm --name isso -p 127.0.0.1:8080:8080 -v /opt/isso:/config -v /opt/isso:/db isso + +Then, you can use a reverse proxy to expose port 8080. Install from Source ------------------- From 30f0c7eeb895163339d3515fc15f6d408137fee6 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Tue, 17 Apr 2018 07:03:54 +0200 Subject: [PATCH 2/4] docs: document data-isso-id --- docs/docs/configuration/client.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/docs/configuration/client.rst b/docs/docs/configuration/client.rst index 14f0c86..9328357 100644 --- a/docs/docs/configuration/client.rst +++ b/docs/docs/configuration/client.rst @@ -7,6 +7,7 @@ preferably in the script tag which embeds the JS: .. code-block:: html Furthermore you can override the automatic title detection inside -the embed tag, e.g.: +the embed tag, as well as the thread ID, e.g.: .. code-block:: html -
+
data-isso --------- From 93ea72299241c594d9cd17ebb4ed6c775bb5a90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Latinier?= Date: Tue, 17 Apr 2018 23:47:06 +0200 Subject: [PATCH 3/4] add contributors --- CHANGES.rst | 7 +++++-- CONTRIBUTORS.txt | 23 ++++++++++++++++++++++- docs/contribute.rst | 2 -- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 2b290a6..5365c2e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,7 +4,8 @@ Changelog for Isso 0.10.7 (unreleased) ------------------- -- Fix Chinese translation +- Fix Chinese translation & typo in CJK +- Fix link in moderation mails if isso is setup on a sub-url (e.g. domain.tld/comments/) - Add Danish translation - Add Hungarian translation - Add Persian translation @@ -12,7 +13,9 @@ Changelog for Isso - Add links highlighting in comments - Add apidoc - Add rc.d script for FreeBSD -- Some tests/travis/documentation improvements and fixes +- Add the possibility to set CORS Origin through ISSO_CORS_ORIGIN environ variable +- Some tests/travis/documentation improvements and fixes + pep8 +- Improvement on german translation 0.10.6 (2016-09-22) diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 0b5e649..db7dd27 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -51,12 +51,33 @@ In chronological order: * Added configuration to require email addresses (no validation) * Fix Vagrantfile -* Benoît Latinier +* Benoît Latinier @blatinier * Fix thread discovery * Added mandatory author + * Added admin interface * Ivan Pantic * Added vote levels +* Martin Schenck @schemar + * Improvement in the german translation + +* @cclauss + * Pep8 and drop of legacy supports (old python & debian version tested in travis) + * Make travis use pyflakes + +* Lucas Cimon @Lucas-C + * Added the possibility to define CORS origins through ISSO_CORS_ORIGIN environment variable + +* Yuchen Pei @ycpei + * Fix link in moderation emails when isso is installed in a sub URL + +* @Rocket1184 + * Fix typo in CJK translations + +* @vincentbernat + * Added documentation about data-isso-id attribute (overriding the standard isso-thread-id) + * Added multi-staged Dockerfile + * [Your name or handle] <[email or website]> * [Brief summary of your changes] diff --git a/docs/contribute.rst b/docs/contribute.rst index 8a3886d..c349a47 100644 --- a/docs/contribute.rst +++ b/docs/contribute.rst @@ -59,5 +59,3 @@ definitely need help: - delete or activate comments matching a filter (e.g. name, email, ip address) - close threads and remove threads completely - - - edit comments From 07ce742b7798a1140abcb292aebecd31ff242ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Latinier?= Date: Wed, 18 Apr 2018 10:51:17 +0200 Subject: [PATCH 4/4] add documentation for uberspaces users (closes #409) --- CONTRIBUTORS.txt | 3 +++ docs/docs/troubleshooting.rst | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index db7dd27..ad1fc1e 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -79,5 +79,8 @@ In chronological order: * Added documentation about data-isso-id attribute (overriding the standard isso-thread-id) * Added multi-staged Dockerfile +* @p-vitt & @M4a1x + * Documentation on troubleshooting for uberspace users + * [Your name or handle] <[email or website]> * [Brief summary of your changes] diff --git a/docs/docs/troubleshooting.rst b/docs/docs/troubleshooting.rst index 20ee8dd..a395a0a 100644 --- a/docs/docs/troubleshooting.rst +++ b/docs/docs/troubleshooting.rst @@ -1,6 +1,12 @@ Troubleshooting =============== +For uberspace users +------------------- +Some uberspace users experienced problems with isso and they solved their +issue by adding `DirectoryIndex disabled` as the first line in the `.htaccess` +file for the domain the isso server is running on. + pkg_ressources.DistributionNotFound -----------------------------------