Merged master in

This commit is contained in:
Facundo Batista 2018-04-18 16:03:19 -03:00
commit be5792cb79
12 changed files with 111 additions and 27 deletions

View File

@ -4,7 +4,8 @@ Changelog for Isso
0.10.7 (unreleased) 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 Danish translation
- Add Hungarian translation - Add Hungarian translation
- Add Persian translation - Add Persian translation
@ -12,7 +13,9 @@ Changelog for Isso
- Add links highlighting in comments - Add links highlighting in comments
- Add apidoc - Add apidoc
- Add rc.d script for FreeBSD - 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) 0.10.6 (2016-09-22)

View File

@ -51,13 +51,37 @@ In chronological order:
* Added configuration to require email addresses (no validation) * Added configuration to require email addresses (no validation)
* Fix Vagrantfile * Fix Vagrantfile
* Benoît Latinier <benoit@latinier.fr> * Benoît Latinier @blatinier <benoit@latinier.fr>
* Fix thread discovery * Fix thread discovery
* Added mandatory author * Added mandatory author
* Added admin interface
* Ivan Pantic <ivanpantic82@gmail.com> * Ivan Pantic <ivanpantic82@gmail.com>
* Added vote levels * 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
* @p-vitt & @M4a1x
* Documentation on troubleshooting for uberspace users
* Facundo Batista <facundo@taniquetil.com.ar> * Facundo Batista <facundo@taniquetil.com.ar>
* Added a generic way to migrate from a json file * Added a generic way to migrate from a json file

33
Dockerfile Normal file
View File

@ -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

View File

@ -59,5 +59,3 @@ definitely need help:
- delete or activate comments matching a filter (e.g. name, email, ip address) - delete or activate comments matching a filter (e.g. name, email, ip address)
- close threads and remove threads completely - close threads and remove threads completely
- edit comments

View File

@ -7,6 +7,7 @@ preferably in the script tag which embeds the JS:
.. code-block:: html .. code-block:: html
<script data-isso="/prefix/" <script data-isso="/prefix/"
data-isso-id="thread-id"
data-isso-css="true" data-isso-css="true"
data-isso-lang="ru" data-isso-lang="ru"
data-isso-reply-to-self="false" data-isso-reply-to-self="false"
@ -23,11 +24,11 @@ preferably in the script tag which embeds the JS:
src="/prefix/js/embed.js"></script> src="/prefix/js/embed.js"></script>
Furthermore you can override the automatic title detection inside 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 .. code-block:: html
<section id="isso-thread" data-title="Foo!"></section> <section id="isso-thread" data-title="Foo!" data-isso-id="/path/to/resource"></section>
data-isso data-isso
--------- ---------

View File

@ -108,7 +108,7 @@ Enable moderation queue and handling of comments still in moderation queue
enabled enabled
enable comment moderation queue. This option only affects new comments. enable comment moderation queue. This option only affects new comments.
Comments in modertion queue are not visible to other users until you Comments in moderation queue are not visible to other users until you
activate them. activate them.
purge-after purge-after

View File

@ -149,7 +149,18 @@ Prebuilt Packages
* Fedora: https://copr.fedoraproject.org/coprs/jujens/isso/ — copr * Fedora: https://copr.fedoraproject.org/coprs/jujens/isso/ — copr
repository. Built from Pypi, includes a systemctl unit script. 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 Install from Source
------------------- -------------------

View File

@ -1,6 +1,12 @@
Troubleshooting 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 pkg_ressources.DistributionNotFound
----------------------------------- -----------------------------------

View File

@ -37,6 +37,12 @@ class SMTP(object):
self.isso = isso self.isso = isso
self.conf = isso.conf.section("smtp") self.conf = isso.conf.section("smtp")
gh = isso.conf.get("general", "host")
if type(gh) == str:
self.general_host = gh
#if gh is not a string then gh is a list
else:
self.general_host = gh[0]
# test SMTP connectivity # test SMTP connectivity
try: try:
@ -109,7 +115,7 @@ class SMTP(object):
(local("origin") + thread["uri"] + "#isso-%i" % comment["id"])) (local("origin") + thread["uri"] + "#isso-%i" % comment["id"]))
rv.write("\n") rv.write("\n")
uri = local("host") + "/id/%i" % comment["id"] uri = self.general_host + "/id/%i" % comment["id"]
key = self.isso.sign(comment["id"]) key = self.isso.sign(comment["id"])
rv.write("---\n") rv.write("---\n")

View File

@ -84,6 +84,8 @@ def origin(hosts):
hosts = [urlsplit(h) for h in hosts] hosts = [urlsplit(h) for h in hosts]
def func(environ): def func(environ):
if 'ISSO_CORS_ORIGIN' in environ:
return environ['ISSO_CORS_ORIGIN']
if not hosts: if not hosts:
return "http://invalid.local" return "http://invalid.local"