Isso¶
License: MIT
This guide is tested with Isso 0.14.0 on Uberspace 8.0.89. We can't guarantee it to work with newer versions.
Isso is a lightweight commenting server similar to Disqus. It allows anonymous comments, maintains identity and is simple to administrate. It uses JavaScript and cross-origin resource sharing for easy integration into (static) websites.
Installation¶
isso can be most easily be managed with the python package and virtual environment manager pipx.
[isabell@moondust ~]$ pipx install isso
installed package isso 0.14.0, installed using Python 3.14.6
These apps are now available
- isso
done! ✨ 🌟 ✨
Configuration¶
Create a configuration directory and a configuration file:
[isabell@moondust ~]$ mkdir -p /home/isabell/etc/isso/
[isabell@moondust ~]$ mkdir -p /home/isabell/lib/isso/
Then create a configuration file /home/isabell/etc/isso/isso.cfg.
[general]
dbpath = /home/isabell/lib/isso/isso.db
host = https://moondust.uberspace.de/
notify = smtp
reply-notifications = yes
[moderation]
enabled = yes
approve-if-email-previously-approved = yes
purge-after = 180d
[server]
listen = http://0.0.0.0:9000/
public-endpoint = https://moondust.uberspace.de/comments
[smtp]
username = isabell@moondust.uberspace.de
password = CDA65PSdVD7ZNHNrjT0fh6K1RGQM70Id_sEudskeSbw
host = moondust.uberspace.de
port = 465
security = ssl
from = "Isso" <isabell@moondust.uberspace.de>
to = isabell@moondust.uberspace.de
[guard]
enabled = yes
ratelimit = 2
direct-reply = 3
reply-to-self = yes
require-author = yes
require-email = yes
[hash]
salt = Z9q51OrQplUXLjNgqEGub8l3dX75qCxPZDvKoU8CIwM
[admin]
enabled = true
password = jRRm8QUhSlMomVlmkeazUR_pdCFYlolNan6T1tcjLpQ
Note
You can generate strong passwords with this python snippet:
[isabell@moondust ~]$ python
Python 3.14.6 (main, Jun 15 2026, 11:36:54) [GCC 16.1.1 20260430] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import secrets
>>> secrets.token_urlsafe(32)
'c-UQHsHFh5XFWqcfabjcsALiXu9DlH2phoWWYlBJZu4'
Systemd unit¶
[isabell@moondust ~]$ uberspace service add isso "/home/isabell/.local/bin/isso -c /home/isabell/etc/isso/isso.cfg run"
OK: Created service file: /home/isabell/.config/systemd/user/isso.service
OK: systemctl --user daemon-reload
OK: systemctl --user start isso.service
OK: systemctl --user enable isso.service
OK: systemctl --user status isso.service
● isso.service
Loaded: loaded (/home/isabell/.config/systemd/user/isso.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-08-11 19:54:46 CEST; 313ms ago
Invocation: 7151c8ba2f104fbaa2025a72deef0410
Main PID: 3242136 (isso)
Tasks: 1 (limit: 1025)
Memory: 17.9M (peak: 18.3M)
CPU: 251ms
CGroup: /user.slice/user-1155.slice/user@1155.service/app.slice/isso.service
└─3242136 /home/isabell/.local/share/pipx/venvs/isso/bin/python -E /home/isabell/.local/bin/isso -c /home/isabell/etc/isso/isso.cfg run
Aug 11 19:54:46 moondust.uberspace.de systemd[2327518]: Started isso.service.
Backend configuration¶
[isabell@moondust ~]$ uberspace web backend add --remove-prefix moondust.uberspace.de/comments PORT 9000
OK: Added webbackend 'moondust.uberspace.de/comments' to your Asteroid
Note
You can also use a subdomain for isso instead of the /comments "subdirectory", but
it is much easier to configure this way. With subdomains you need to configure extra
headers to allow cross origin requests to the isso domain.
Debugging¶
You can use journalctl to check the logs of isso:
[isabell@moondust ~]$ journalctl --user --unit isso.service
Updates¶
Note
Check the update feed regularly.
[isabell@moondust ~]$ pipx upgrade isso
[isabell@moondust ~]$ systemctl restart --user isso
Further Reading¶
Optional links for debugging, advanced configuration, and deeper documentation:
- Official documentation: application docs and configuration reference
- Community support: GitHub discussions