The open source commenting engine; an alternative to Disqus.


Running with Podman:

sudo podman run --rm --name isso -d -v /opt/isso/config:/config -v /opt/isso/db:/db -p 8080:8080 wonderfall/isso

Running with docker-compose:

cd /opt/isso
sudo /usr/local/bin/docker-compose up -d

Runbook for starting a new site

1. Create the directory structure:

mkdir -p /opt/isso/ /opt/isso/
touch /opt/isso/
chown -R isso:isso /opt/isso

2. Create config file (./config/isso.cfg):

dbpath = /db/comments.db
host =
notify = smtp
listen =
public-endpoint =
enabled = true
purge-after = 365d
enabled = true
ratelimit = 2
direct-reply = 3
reply-to-self = true
require-author = true
require-email = false
username =
password = fuvvvvvvvvvvvv
host =
port = 587
security = starttls
to =
from =
timeout = 10
enabled = true
password = Henlo-Henlo-Henlo

3. Create a new Nginx virtual host config (/etc/nginx/conf.d/

server {

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;

    listen 80; listen [::]:80;

4. Add an A record in your nameserver (e.g. Cloudflare) to point to your server’s IP address, e.g. comments1.2.3.4

5. Restart nginx and test the new virtual host: curl -v

6. Run certbot -d to fetch and install a new SSL certificate.

7. Make a launch script (./


echo "Starting isso..."
podman run -v /opt/isso/ -v /opt/isso/ --name isso-dc -d -p 8087:8080

8. Run the launch script: sudo su - isso && /opt/isso/

DB pruning/editing

-- will show (describe) the structure of the 'threads' table
.schema threads

Moving posts from an old URL to a new one:

-- get the ID
select * from threads where uri like '%<old-url>%';

-- get the thread ID
select id from comments where tid = <old-url-thread-id>; -- no quotes!
select text from comments where tid = <old-url-thread-id>;

-- update
update comments set tid=<new-tid> where tid=<old-tid>;



export ISSO_BASE=

Get comments (for /path/resource-name/):

curl ${ISSO_BASE}/?uri=%2Fpath%2Fresource-name%2F


Comment notification emails aren’t being sent

  • Check logs (podman logs isso) - there may be something like “2020-08-06 17:14:43,727 ERROR: unable to connect to SMTP server”